What are the requirements for running the SourceJammer server?
As of SourceJammer 2.1 . . .
- J2sdk 1.4.0 or later. (http://java.sun.com)
- A J2EE or servlet engine (such as Tomcat or JBoss
[ Top ]
What's the easiest way to tell if my SourceJammer server is running without using the SourceJammer client?
Try hitting your server's URL with a web browser. For many people this will be http://localhost:8080/sourcejammer. If you see a formatted web page with the SourceJammer logo, then your server is running.
[ Top ]
Can I run SourceJammer under an EJB server?
Yes, you can run SourceJammer under any JSP server. EJB (J2EE) server's by definition can run JSP and servlets.
[ Top ]
When I try to start the SourceJammer server, I get a ClassNotFoundException or NoClassDefFoundError. What am I doing wrong?
The answer to this question depends on which class Tomcat is unable to find.
Most likely, the path to sj_lib.jar in you tomcat_sj script is incorrect or you do not have the sj_lib.jar file.
In this case, you must be using version 3.2.1 or later of Tomcat. The default server_sourcejammer.xml file was created for an earlier version of Tomcat. All you need to do is modify this file and change the reference in server_sourcejammer.xml from org.apache.tomcat.request.SimpleMapper to org.apache.tomcat.request.SimpleMapper1. If you see this error, you most likely need to remove the reference to org.apache.tomcat.request.SecurityCheck as well (see below).
See above. You should remove the reference to this class from your server_sourcejammer.xml file.
[ Top ]
When clients try to check out or access a file, they get a message saying "Error: Unable to obtain lock on node. Timed out before the node became unlocked." What's wrong?
Most likely there is a problem with the permissions of the user you were logged in as when you started the SourceJammer server. It's also possible that you somehow started two different instances of the SourceJammer server and both are running at the same time.
The server creates a lock file for each project or file that it reads into its cache. It deletes the lock files on startup. If the user that started SourceJammer does not have full read/write permission on the lock directory, then it will be unable to delete the lock files and so it will be unable to read the associated files (or projects) into its cache.
Also, if two servers are running and accessing the same archive, one instance could have the other instance locked out.
[ Top ]
Why do I keep getting a SOAP error saying "Unable to resolve namespace URI for 'ns2'."?
This error results from an incompatability between Apache SOAP and an earlier version of Xerces, as near as I can figure. This problem sometimes occurs when SJ is run under Resin or WebLogic.
Click here for an old Resin group post that addresses the issue somewhat.
Most likely the root cause is that there is an old xerces.jar file in your classpath when you start your servlet engine. Possibly this is set up in the classpath environment variable. Remove the reference to xerces.jar and SourceJammer should work fine.
[ Top ]
What do I have to do to run SourceJammer under Resin?
(Thanks to Catie D'Ignazio for providing this one.)
I am running apache with resin 2.0.3 as the servlet container.
1) Create web-apps for sourcejammer and soap, e.g.: Put the following into your resin.conf (adjusting for paths of course):
2) Make sure that the appropriate libraries are in the /lib/ directories of your web app. For example, I put xerces.jar and soap.jar in C:\sourcejammer\server\webapps\sourcejammer\WEB-INF\lib.
3) Make sure Apache knows to forward along sourcejammer requests to resin (just in case it gets called on port 80 instead of 8080 which is what resin's httpd is running on): httpd.conf is like this:
CauchoHost localhost 6802
AddHandler caucho-request jsp
4) Follow the rest of the steps as described in the readme.txt. The tomcat specific .bat files won't work obviously but sourcejammer should be up and running when you start resin. You might want to play around with resin's web-app settings in order to log things correctly and duplicate the functionality of the server_sourcejammer.xml file: http://www.caucho.com/products/resin/ref/app-config.xtp
[ Top ]
How can I move a SourceJammer archive's files to a new location on my server?
Probably the best and easiest way to do this is to modify the .sja files for your archives manually and also manually change the default archive root directory in your server.conf file.
Another approach is to use the move script, as follows:
1) Stop your SourceJammer server.
2) Manually move the directory that contains your archive's files to its new location. This directory is most likely in the archives directory and it has the same name as the archive.
3) Execute the ChangeArchiveLocation class on your server. The easiest way to do this is to use the move.sh (or .bat) file in the conv directory that came with your SJ installation. Basically, ChangeArchiveLocation needs to be passed your conf directory location, the name of the archive you are moving, and the new path to the archive's home directory. Fire the class without parameters for more usage instructions. Note that the move.sh (or .bat) file has a conf path hard-coded in it.
4) Restart your SJ server.
[ Top ]