geronimo-iia / winstone

Winstone is a servlet container that was written out of a desire to provide servlet functionality without the bloat that full J2EE compliance introduces.
GNU Lesser General Public License v2.1
22 stars 3 forks source link

commonLibFolder parameter #12

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago

This is my file ../etc/winstone.properties:
======================================================
# Properties for the mini servlet container "Winstone"
# @(#) $Id: winstone.properties 875 2012-02-08 18:30:31Z gfis $
#2012-01-31, Dr. Georg Fischer
#----------------
httpPort=8087
webappsDir=./webapps
commonLibFolder=./webapps/dbat/lib
useJNDI=true
jndi.resource.dataSources=java.lang.String
jndi.param.dataSources.value=worddb,mysql
#-----------------
jndi.resource.jdbc/worddb=javax.sql.DataSource
jndi.param.jdbc/worddb.url=jdbc:mysql://localhost/worddb
jndi.param.jdbc/worddb.driverClassName=com.mysql.jdbc.Driver
jndi.param.jdbc/worddb.username=worduser
jndi.param.jdbc/worddb.password=wordpass
#
jndi.resource.jdbc/mysql=javax.sql.DataSource
jndi.param.jdbc/mysql.url=jdbc:mysql://localhost/worddb
jndi.param.jdbc/mysql.driverClassName=com.mysql.jdbc.Driver
jndi.param.jdbc/mysql.username=worduser
jndi.param.jdbc/mysql.password=wordpass
=======================================================
When I execute the following startup:

java -jar ~/download/winstone-0.9.10.jar --config=../etc/winstone.properties

it comes up fine with the following messages:

=====================================================
gfis@nunki:~/work/webapps-super/dbat/dist$ ./start_container
DBCPoolingListener: create connectionId=worddb
DBCPoolingListener: create connectionId=mysql
[Winstone 2012/03/06 21:28:21] - Deployed web application found at dbat
[Winstone 2012/03/06 21:28:21] - HTTP Listener started: port=8087
[Winstone 2012/03/06 21:28:21] - AJP13 Listener started: port=8009
[Winstone 2012/03/06 21:28:21] - Winstone Servlet Engine v0.9.10 running: 
controlPort=disabled
2012-03-06 21:29:02,270 0    [RequestHandlerThread[#4]] ERROR 
org.teherba.dbat.DbatServlet  - 
realPath=/home/gfis/work/webapps-super/dbat/dist/webapps/dbat/spec/
 DbatServlet.init: connectionId=worddb, DataSource=WinstoneDataSource: jdbc/worddb JDBC connection status - used: jdbc/worddb unused: 0, driverURL=jdbc:mysql://localhost/worddb
DbatServlet.init: connectionId=mysql, DataSource=WinstoneDataSource: jdbc/mysql 
JDBC connection status - used: jdbc/mysql unused: 0, 
driverURL=jdbc:mysql://localhost/worddb
=====================================================

but when - in exactly the same environment - I start it with

java -jar ~/download/winstone-1.0.3-boot.jar --config=../etc/winstone.properties

it seems not to find the commonLibFolder (=webapps/dbat/lib) with the JDBC 
drivers:

=====================================================
gfis@nunki:~/work/webapps-super/dbat/dist$ ./start_up.cmd
INFO  06/03/12 21:37:17.366 [main]: stage 1/3: Loading arguments...
INFO  06/03/12 21:37:17.368 [main]: stage 2/3: check embedded file...
INFO  06/03/12 21:37:17.368 [main]: no embedded file was found
INFO  06/03/12 21:37:17.368 [main]: stage 3/3: compute JSP classpath...
INFO  06/03/12 21:37:17.393 [main]: jndi context initialized
INFO  06/03/12 21:37:17.396 [main]: JNDI Started net.winstone.jndi.JndiManager
ERROR 06/03/12 21:37:17.407 [main]: Error building JDBC Datasource object 
jdbc/mysql
java.lang.IllegalStateException: Can't load database driver for jdbc/mysql 
connection
       at net.winstone.jndi.resources.SimpleDatasource.<init>(SimpleDatasource.java:94)
       at net.winstone.jndi.JndiManager.bind(JndiManager.java:120)
       at net.winstone.Server.createObject(Server.java:297)
       at net.winstone.Server.initializeJndi(Server.java:277)
       at net.winstone.Server.initialize(Server.java:126)
       at net.winstone.Server.start(Server.java:115)
       at net.winstone.Winstone.main(Winstone.java:24)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
       at java.lang.reflect.Method.invoke(Method.java:616)
       at org.intelligentsia.keystone.boot.BootStrap.invokeMain(BootStrap.java:291)
       at org.intelligentsia.keystone.boot.BootStrap.main(BootStrap.java:180)
Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
       at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
       at java.security.AccessController.doPrivileged(Native Method)
       at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
       at java.lang.Class.forName0(Native Method)
       at java.lang.Class.forName(Class.java:264)
       at net.winstone.jndi.resources.SimpleDatasource.<init>(SimpleDatasource.java:88)
       ... 12 more
INFO  06/03/12 21:37:17.413 [main]: bind java:/comp/env/dataSources to 
worddb,mysql
ERROR 06/03/12 21:37:17.414 [main]: Error building JDBC Datasource object 
jdbc/worddb
java.lang.IllegalStateException: Can't load database driver for jdbc/worddb 
connection
       at net.winstone.jndi.resources.SimpleDatasource.<init>(SimpleDatasource.java:94)
       at net.winstone.jndi.JndiManager.bind(JndiManager.java:120)
       at net.winstone.Server.createObject(Server.java:297)
       at net.winstone.Server.initializeJndi(Server.java:277)
       at net.winstone.Server.initialize(Server.java:126)
       at net.winstone.Server.start(Server.java:115)
       at net.winstone.Winstone.main(Winstone.java:24)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
       at java.lang.reflect.Method.invoke(Method.java:616)
       at org.intelligentsia.keystone.boot.BootStrap.invokeMain(BootStrap.java:291)
       at org.intelligentsia.keystone.boot.BootStrap.main(BootStrap.java:180)
Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
       at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
       at java.security.AccessController.doPrivileged(Native Method)
       at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
       at java.lang.Class.forName0(Native Method)
       at java.lang.Class.forName(Class.java:264)
       at net.winstone.jndi.resources.SimpleDatasource.<init>(SimpleDatasource.java:88)
       ... 12 more
INFO  06/03/12 21:37:17.481 [main]: Found and enabled the local Servlet 2.5 XSD 
replacement
DBCPoolingListener: create connectionId=worddb
ERROR 06/03/12 21:37:17.985 [main]: worddb not found
javax.naming.NameNotFoundException: worddb not found
       at net.winstone.jndi.NamingContext.lookup(NamingContext.java:200)
       at net.winstone.jndi.NamingContext.lookup(NamingContext.java:218)
       at net.winstone.jndi.NamingContext.lookup(NamingContext.java:172)
       at org.teherba.dbat.DBCPoolingListener.contextInitialized(DBCPoolingListener.java:76)
       at net.winstone.core.WebAppConfiguration.<init>(WebAppConfiguration.java:781)
       at net.winstone.core.HostConfiguration.initWebApp(HostConfiguration.java:287)
       at net.winstone.core.HostConfiguration.addWebAppConfiguration(HostConfiguration.java:195)
       at net.winstone.core.HostConfiguration.deploy(HostConfiguration.java:454)
       at net.winstone.core.HostConfiguration.<init>(HostConfiguration.java:146)
       at net.winstone.core.HostGroup.addHostConfiguration(HostGroup.java:119)
       at net.winstone.core.HostGroup.<init>(HostGroup.java:89)
       at net.winstone.Server.initialize(Server.java:131)
       at net.winstone.Server.start(Server.java:115)
       at net.winstone.Winstone.main(Winstone.java:24)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
       at java.lang.reflect.Method.invoke(Method.java:616)
       at org.intelligentsia.keystone.boot.BootStrap.invokeMain(BootStrap.java:291)
       at org.intelligentsia.keystone.boot.BootStrap.main(BootStrap.java:180)
INFO  06/03/12 21:37:17.991 [main]: Deploy web application: prefix [/dbat] 
webroot [./webapps/dbat]
INFO  06/03/12 21:37:17.992 [main]: Deployed web application found at 
/home/gfis/work/webapps-super/dbat/dist/./webapps/dbat
INFO  06/03/12 21:37:18.001 [main]: HTTP Listener started: port=8087
INFO  06/03/12 21:37:18.005 [main]: AJP13 Listener started: port=8009
INFO  06/03/12 21:37:18.010 [LauncherControlThread[ControlPort=-1]]]: Winstone 
Servlet Engine v1.0.3 running: controlPort=disabled
=================================================================

Original issue reported on code.google.com by jguibert@gmail.com on 7 Mar 2012 at 11:28

GoogleCodeExporter commented 9 years ago
commonLibFolder wasnot added to server classpath.
I'm going to fix this quickly to 1.0.4

Original comment by jguibert@gmail.com on 7 Mar 2012 at 11:29

GoogleCodeExporter commented 9 years ago
All Classpath of winstone is managed by keystone project.
So this parameter will be disappeared from winstone, and replaced by 
--BootStrap.extraLibrariesFolderPath (in use since version 2.4 of keystone).

Original comment by jguibert@gmail.com on 9 Mar 2012 at 10:25

GoogleCodeExporter commented 9 years ago
Waiting keystone 2.4 release and winstone 1.0.4 release.

Original comment by jguibert@gmail.com on 9 Mar 2012 at 3:00