tomcat 5.5 embedded war deployment
hi all, i've searched the archives and googled around, to no avail.. i'm trying to figure out how to deploy a WAR file using tomcat 5.5.4 embedded.. i know there are some issues with the embedded class, like the createconnector(...) returning null, since it doesn't account for the http scheme connector. nevertheless, the embedded.createcontext(...) seems to only account for directory webapps only, not warfile apps. in 4.1.x there was the deployer interface with which the StandardHost implemented.. however, Deployer no longer exists in 5.5!! any help would be greatly appreciated, -- Patrick - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Tomcat 5.5 Embedded
I have a small application with an embedded Tomcat 5.0.x. Now I try to upgrade to Tomcat 5.5.x. The problem is that the API changed. My code no longer compiles. Below the code for my Tomcat 5.0.x version. The part with ContextResource and ResourceParams no longer work this way in Tomcat 5.5.x. Does anybody knows what I have to change. Regards Ralph Embedded embeddedTomcat = new Embedded(); Engine engine = embeddedTomcat.createEngine(); Host host = embeddedTomcat.createHost(localhost, catalinaHome); engine.addChild(host); StandardContext rootCtx = (StandardContext)embeddedTomcat.createContext(context, warFile.getPath()); rootCtx.setWorkDir(workDir); ContextResource res = new ContextResource(); res.setName(jdbc/ + dataSourceName); res.setType(javax.sql.DataSource); res.setAuth(Container); rootCtx.addResource(res); ResourceParams params = new ResourceParams(); params.setName(jdbc/ + dataSourceName); params.addParameter(factory, org.apache.commons.dbcp.BasicDataSourceFactory); params.addParameter(maxActive, 50); params.addParameter(maxIdle, 10); params.addParameter(maxWait, 1); params.addParameter(username, username); params.addParameter(password, ); params.addParameter(driverClassName, driver); params.addParameter(defaultAutoCommit, false); params.addParameter(url, dbUrl); params.addParameter(removeAbandoned, true); params.addParameter(removeAbandonedTimeout, 60); params.addParameter(logAbandoned, true); rootCtx.addResourceParams(params); host.addChild(rootCtx); embeddedTomcat.addEngine(engine); Connector httpConnector = embeddedTomcat.createConnector((java.net.InetAddress)null, httpPort, false); embeddedTomcat.addConnector(httpConnector); embeddedTomcat.start(); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tomcat 5.5 Embedded
On Sun, 31 Oct 2004 13:23:40 +0100, Ralph Schaer [EMAIL PROTECTED] wrote: I have a small application with an embedded Tomcat 5.0.x. Now I try to upgrade to Tomcat 5.5.x. The problem is that the API changed. My code no longer compiles. Below the code for my Tomcat 5.0.x version. The part with ContextResource and ResourceParams no longer work this way in Tomcat 5.5.x. Does anybody knows what I have to change. Regards Ralph Embedded embeddedTomcat = new Embedded(); Engine engine = embeddedTomcat.createEngine(); Host host = embeddedTomcat.createHost(localhost, catalinaHome); engine.addChild(host); StandardContext rootCtx = (StandardContext)embeddedTomcat.createContext(context, warFile.getPath()); rootCtx.setWorkDir(workDir); ContextResource res = new ContextResource(); res.setName(jdbc/ + dataSourceName); res.setType(javax.sql.DataSource); res.setAuth(Container); rootCtx.addResource(res); ResourceParams params = new ResourceParams(); params.setName(jdbc/ + dataSourceName); params.addParameter(factory, org.apache.commons.dbcp.BasicDataSourceFactory); params.addParameter - res.setProperty. So ResourceParams is no longer needed, which should make your code smaller. Also be careful that the factory name for DBCP changes (Tomcat, like Java 5, does package renaming to avoid problems). So you'd better leave it blank. -- x Rémy Maucherat Developer Consultant JBoss Group (Europe) SàRL x - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re[2]: Tomcat 5.5 Embedded
Thanks for your answer. Now my last problem is how can I add the new ContextResource (res) into the rootCtx. With Tomcat 5.0. this method does the job: rootCtx.addResource(res); But this method does not exists in Tomcat 5.5 Regards Ralph RM On Sun, 31 Oct 2004 13:23:40 +0100, Ralph Schaer [EMAIL PROTECTED] wrote: I have a small application with an embedded Tomcat 5.0.x. Now I try to upgrade to Tomcat 5.5.x. The problem is that the API changed. My code no longer compiles. Below the code for my Tomcat 5.0.x version. The part with ContextResource and ResourceParams no longer work this way in Tomcat 5.5.x. Does anybody knows what I have to change. Regards Ralph Embedded embeddedTomcat = new Embedded(); Engine engine = embeddedTomcat.createEngine(); Host host = embeddedTomcat.createHost(localhost, catalinaHome); engine.addChild(host); StandardContext rootCtx = (StandardContext)embeddedTomcat.createContext(context, warFile.getPath()); rootCtx.setWorkDir(workDir); ContextResource res = new ContextResource(); res.setName(jdbc/ + dataSourceName); res.setType(javax.sql.DataSource); res.setAuth(Container); rootCtx.addResource(res); ResourceParams params = new ResourceParams(); params.setName(jdbc/ + dataSourceName); params.addParameter(factory, org.apache.commons.dbcp.BasicDataSourceFactory); RM params.addParameter - res.setProperty. So ResourceParams is no longer RM needed, which should make your code smaller. RM Also be careful that the factory name for DBCP changes (Tomcat, like RM Java 5, does package renaming to avoid problems). So you'd better RM leave it blank. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tomcat 5.5 Embedded
Hey Ralph, Use rootCtx.getNamingResources().addResource(rs). Peter Ralph Schaer schrieb: Thanks for your answer. Now my last problem is how can I add the new ContextResource (res) into the rootCtx. With Tomcat 5.0. this method does the job: rootCtx.addResource(res); But this method does not exists in Tomcat 5.5 Regards Ralph RM On Sun, 31 Oct 2004 13:23:40 +0100, Ralph Schaer [EMAIL PROTECTED] wrote: I have a small application with an embedded Tomcat 5.0.x. Now I try to upgrade to Tomcat 5.5.x. The problem is that the API changed. My code no longer compiles. Below the code for my Tomcat 5.0.x version. The part with ContextResource and ResourceParams no longer work this way in Tomcat 5.5.x. Does anybody knows what I have to change. Regards Ralph Embedded embeddedTomcat = new Embedded(); Engine engine = embeddedTomcat.createEngine(); Host host = embeddedTomcat.createHost(localhost, catalinaHome); engine.addChild(host); StandardContext rootCtx = (StandardContext)embeddedTomcat.createContext(context, warFile.getPath()); rootCtx.setWorkDir(workDir); ContextResource res = new ContextResource(); res.setName(jdbc/ + dataSourceName); res.setType(javax.sql.DataSource); res.setAuth(Container); rootCtx.addResource(res); ResourceParams params = new ResourceParams(); params.setName(jdbc/ + dataSourceName); params.addParameter(factory, org.apache.commons.dbcp.BasicDataSourceFactory); RM params.addParameter - res.setProperty. So ResourceParams is no longer RM needed, which should make your code smaller. RM Also be careful that the factory name for DBCP changes (Tomcat, like RM Java 5, does package renaming to avoid problems). So you'd better RM leave it blank. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]