Обсуждение: JServ + PostgreSQL 6.3
Hello All,
I have JDK 1.1.6 and JServ 0.9.11 on Apache 1.3.3. I am able to get the
servlets to work but I am not able to get the servlets which access
the postgresql 6.3 JDBC to work correctly.
I get the following message in the JServ error file.
Exception creating server socket: java.net.BindException: Address already
in use
/usr/local/java/bin/../bin/checkVersions: /tmp/ldd.out.363: Permission denied
/usr/local/java/bin/../bin/checkVersions: /tmp/ldd.out.363: No such file or
directory
For your information, all users have been given complete read/write access
to the /tmp directory.
By the way, the servlet runs perfectly well when executed seperately and not
as a servlet albeit with the following error messages.
/usr/local/java/bin/../bin/checkVersions: /tmp/ldd.out.363: Permission denied
/usr/local/java/bin/../bin/checkVersions: /tmp/ldd.out.363: No such file or
directory
I have given below the parts from the httpd.conf file
httpd.conf
---------------------------------------------------------------
<IfModule mod_jserv.c>
ServletProperties /usr/local/java/jserv/servlet.properties
ServletBinary /usr/local/java/bin/java
ServletClassPath
/usr/local/java/lib/classes.zip:/usr/local/java/jserv/servclas
ses.zip:/usr/local/java/jserv/classes
ServletEnvironment NS_JAVA true
#ServletClassPath /usr/local/java/jserv/servclasses.zip
#ServletClassPath /usr/local/java/jserv/src
ServletAlias /servlets /usr/local/java/jserv/servlets
ServletErrorLog /usr/local/java/jserv/jserv_errors.log
ServletAuthExport On
AddHandler jhtml-parser .jhtml
Action jhtml-parser
/usr/local/java/jserv/servlets/org.apache.j
serv.JServSSI
</IfModule>
Any ideas ? Any help will be greatly appreciated. Do I need to make
any specific changes in the servlet.properties file ?
Regards,
Prem
On Wed, 6 Jan 1999, Prem Kurian Philip wrote:
> Hello All,
> I have JDK 1.1.6 and JServ 0.9.11 on Apache 1.3.3. I am able to get the
> servlets to work but I am not able to get the servlets which access
> the postgresql 6.3 JDBC to work correctly.
>
> I get the following message in the JServ error file.
>
> Exception creating server socket: java.net.BindException: Address already
> in use
> /usr/local/java/bin/../bin/checkVersions: /tmp/ldd.out.363: Permission denied
> /usr/local/java/bin/../bin/checkVersions: /tmp/ldd.out.363: No such file or
> directory
I've got 1.1.6 installed on my linux box, and it doesn't have a
checkVersions file.
What platform are you running the JDK on?
Any how, /tmp/ldd.out.363 looks to me like a temporary file being
generated by a script using the ldd tool to test compiled binaries,
possibly by the JDK to make sure everything is ok before starting.
> For your information, all users have been given complete read/write access
> to the /tmp directory.
The first line would have indicated a permissions problem, but as you say,
you have given everyone full access to /tmp
> By the way, the servlet runs perfectly well when executed seperately and not
> as a servlet albeit with the following error messages.
>
> /usr/local/java/bin/../bin/checkVersions: /tmp/ldd.out.363: Permission denied
> /usr/local/java/bin/../bin/checkVersions: /tmp/ldd.out.363: No such file or
> directory
What happens if you run some other java code? If you wrote a simple "Hello
World" style program in Java, do you get the same thing?
> I have given below the parts from the httpd.conf file
I don't think it's here. I think it's something to do with either your JDK
or JServ installation.
> Any ideas ? Any help will be greatly appreciated. Do I need to make
> any specific changes in the servlet.properties file ?
Let me know. Other people have told me that the JDBC driver works fine
with servlets, and I haven't seen this problem before with the JDK on any
of the platforms I've used Java on.
--
Peter T Mount peter@retep.org.uk
Main Homepage: http://www.retep.org.uk
PostgreSQL JDBC Faq: http://www.retep.org.uk/postgres
Java PDF Generator: http://www.retep.org.uk/pdf
Two thoughts. The servlet code would help a fair bit in this instance. I've got the identical setup running quite successfully with multiple servlets on a Linux box. So I know there is a solution. Second, the socket is locked either by another process, or another previous instance of ther servlet running. I think the /tmp file messages may be secondary exception traps at higher levels, depending on the code. ie: the exception is dropping through, and/or being rethrown after the failed bind, or the fail to bind triggers a cascade of errors in the coding assumptions afterwards. The checkVersions program isn't part of the 1.1.6 distribution, so I assume you have a class loading at runtime or some such thing. Again, the source would help, but the path it references on the class would *not* be permitted to be accessed by the servlet for loading from the .conf file you included from what I understand the setup to be. The binary is/is in /usr/local/java/bin/java, and the classpath for loading is in the subs of jserv, or the standard lib classes.zip. How is checkVersion being called/implemented? Like I say, I know the solution is there, but I need a bit more info to help you get to it! :-) Cheers, Dallas Hockley hockleyd@cybersurf.net Prem Kurian Philip wrote: > Hello All, > I have JDK 1.1.6 and JServ 0.9.11 on Apache 1.3.3. I am able to get the > servlets to work but I am not able to get the servlets which access > the postgresql 6.3 JDBC to work correctly. > > I get the following message in the JServ error file. > > Exception creating server socket: java.net.BindException: Address already > in use > /usr/local/java/bin/../bin/checkVersions: /tmp/ldd.out.363: Permission denied > /usr/local/java/bin/../bin/checkVersions: /tmp/ldd.out.363: No such file or > directory > > For your information, all users have been given complete read/write access > to the /tmp directory. > > By the way, the servlet runs perfectly well when executed seperately and not > as a servlet albeit with the following error messages. > > /usr/local/java/bin/../bin/checkVersions: /tmp/ldd.out.363: Permission denied > /usr/local/java/bin/../bin/checkVersions: /tmp/ldd.out.363: No such file or > directory > > I have given below the parts from the httpd.conf file > > httpd.conf > --------------------------------------------------------------- > <IfModule mod_jserv.c> > ServletProperties /usr/local/java/jserv/servlet.properties > ServletBinary /usr/local/java/bin/java > ServletClassPath > /usr/local/java/lib/classes.zip:/usr/local/java/jserv/servclas > ses.zip:/usr/local/java/jserv/classes > ServletEnvironment NS_JAVA true > > #ServletClassPath /usr/local/java/jserv/servclasses.zip > #ServletClassPath /usr/local/java/jserv/src > ServletAlias /servlets /usr/local/java/jserv/servlets > ServletErrorLog /usr/local/java/jserv/jserv_errors.log > ServletAuthExport On > AddHandler jhtml-parser .jhtml > Action jhtml-parser > /usr/local/java/jserv/servlets/org.apache.j > serv.JServSSI > </IfModule> > > Any ideas ? Any help will be greatly appreciated. Do I need to make > any specific changes in the servlet.properties file ? > > Regards, > Prem