|
| Apache Geronimo > Discussion Forums | User List | Dev List | Wiki | Issue Tracker |
|
View:
New views
6 Messages
—
Rating Filter:
Alert me
|
|
|
Migrting application into GeronimoHello! I'm currently working with migrating quite big war-only application (http://www.emforge.org) to the Geronimo.
We are using Tomcat 5.5/6.0 for development, but already prepared "special" versions for JBossAS and GlassFis to provide better integration (http://www.emforge.org/wiki/EmForgeJ2EEIntegration has a little bit more details). So, now the turn on Geronimo. This application is used many dependencies, some of which make sense are: * JSF-RI 1.2 & Facelets & RichFaces 3.2.0 * Spring 2.5.2 * CXF 2.0.5-incubator. During trying to run application on GlassFish I met some problems, seems related to the facts, that Geronimo is used a little bit another versions: * MyFaces 1.2 (as JSF Implementation) * Spring 2.0.5 * CXF 2.0.2 But before one general question: how to use some default (I suppose jdbc/ActiveDS) DataSource in my application? We need it because by default, we are using build-in file-based HSQL, but in these "special" pacjkages for J2EE servers we provide some better integration - for example we are using some default DS as DataSource. It allows user to start application by simple deploying (without any external configuration) and avoid from using HSQL (it has some problems). I read documentation (http://cwiki.apache.org/GMOxDOC21/deployment-plans.html) and trying to do like it is described there - added resource into web.xml: <resource-ref> <res-ref-name>jdbc/ActiveDS</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> <res-sharing-scope>Shareable</res-sharing-scope> </resource-ref> And added dependency into geronimo-web.xml (may be it is not correct - but I tried different ways): <web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1" xmlns:nam="http://geronimo.apache.org/xml/ns/naming-1.2" xmlns:sec="http://geronimo.apache.org/xml/ns/security-2.0" xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.2"> <sys:environment> <sys:moduleId> <sys:groupId>org.emforge</sys:groupId> <sys:artifactId>EmForge</sys:artifactId> <sys:version>0.23</sys:version> <sys:type>war</sys:type> </sys:moduleId> <sys:hidden-classes> <sys:filter>org.jaxen,org.springframework,org.apache.cxf</sys:filter> </sys:hidden-classes> <sys:dependencies> <sys:dependency> <sys:groupId>console.dbpool</sys:groupId> <sys:artifactId>jdbc%2FActiveDS</sys:artifactId> </sys:dependency> </sys:dependencies> </sys:environment> <context-root>/EmForge</context-root> <nam:resource-ref> <nam:ref-name>jdbc/ActiveDS</nam:ref-name> <nam:resource-link>jdbc/ActiveDS</nam:resource-link> <nam:pattern> <nam:groupId>console.dbpool</nam:groupId> <nam:artifactId>jdbc%2FActiveDS</nam:artifactId> <nam:name>jdbc/ActiveDS</nam:name> </nam:pattern> </nam:resource-ref> But in this case I'm getting error during deployment: error: cvc-complex-type.2.4a: Expected elements 'non-overridable-classes@http://geronimo.apache.org/xml/ns/deployment-1.2 inverse-classloading@http://geronimo.apache.org/xml/ns/deployment-1.2 suppress-default-environment@http://geronimo.apache.org/xml/ns/deployment-1.2' instead of 'dependencies@http://geronimo.apache.org/xml/ns/deployment-1.2' here in element environment@http://geronimo.apache.org/xml/ns/deployment-1.2What I'm doing wrong here? Another question - MyFaces and JSF-RI? Is it possible to configure somehow my application to use JSF-RI instead of MyFaces. Problem is - we have some custom renderers, which implementation is inherited from com.sun renderers, so - when I'm deploying application into Geronimo - I'm getting class-not-found error. Last Question - Implementing Web-Services with using CXF & Spring. Some services in our application wrapped with CXF-based Web-Services Implementation. For doing it we have defined in spring context: <!-- Load CXF modules from cxf.jar --> <import resource="classpath:META-INF/cxf/cxf.xml" /> <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> <import resource="classpath:META-INF/cxf/cxf-servlet.xml" /> <!-- Enable message logging using the CXF logging feature --> <cxf:bus> <cxf:features> <cxf:logging/> </cxf:features> </cxf:bus> <!-- Service endpoint --> <!-- See http://incubator.apache.org/cxf/faq.html regarding CXF + Spring AOP --> <jaxws:endpoint id="bpmWsService" implementorClass="org.emforge.jbpm.BpmServiceImpl" implementor="#bpmService" address="/org.emforge.BpmService"> <jaxws:inInterceptors> <bean class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor"/> <ref bean="wss4jInConfiguration"/> <bean class="ru.emdev.EmForge.security.ValidateUserTokenInterceptor"/> </jaxws:inInterceptors> </jaxws:endpoint> But I'm getting followed error during starting application: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'bpmWsService': Unsatisfied dependency expressed through constructor argument with index 2 of type [java.lang.String]: Ambiguous constructor argument types - did you specify the correct bean references as constructor arguments? I tried both - put org.apache.cxf and org.springframework into hidden-classes via: <sys:hidden-classes> <sys:filter>org.jaxen</sys:filter> <sys:filter>org.springframework</sys:filter> <sys:filter>org.apache.cxf</sys:filter> </sys:hidden-classes> But still getting this error. I tried to hide classes via: <sys:hidden-classes> <sys:filter>org.jaxen,org.springframework,org.apache.cxf</sys:filter> </sys:hidden-classes> but it is not work at all (I'm starting to get errors related to org.jaxen). I tried to switch my application to cxf-2.0.2 (since for me it is not so important which version is used and I like the idea to remove some dependencies from our war-file to make is smaller) - same effect. I tried to remove cxf from my war-file libs (so, to use only cxf from geronimo) - I've got error ClassNotFound on servlet definition: <servlet> <servlet-name>CXFServlet</servlet-name> <servlet-class> org.apache.cxf.transport.servlet.CXFServlet </servlet-class> </servlet> <servlet-mapping> <servlet-name>CXFServlet</servlet-name> <url-pattern>/ws</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>CXFServlet</servlet-name> <url-pattern>/ws/*</url-pattern> </servlet-mapping> I looked into tutorials - but found only tutorial about writting web-services for Geronimo with using Axis2 - not CXF... So, really do not know what is a correct way to define CXF-based web-services in Geronimo. Does anybody has any suggestions. I will be happy to any help. For us it is really important to add support for Geronimo - in this case our application with run on all most-important Open-Source J2EE servers. -- With best regards, Alexey Kakunin |
|
|
Re: Migrting application into GeronimoThe JBoss to Geronimo Migration Tool (J2G) may be of interest/use to
you. See http://geronimo.apache.org/development-tools.html#DevelopmentTools-J2G. On Mon, Apr 28, 2008 at 9:50 AM, Alexey Kakunin <akakunin@...> wrote: > Hello! I'm currently working with migrating quite big war-only application > (http://www.emforge.org) to the Geronimo. > We are using Tomcat 5.5/6.0 for development, but already prepared "special" > versions for JBossAS and GlassFis to provide better integration > (http://www.emforge.org/wiki/EmForgeJ2EEIntegration has a little bit more > details). > > So, now the turn on Geronimo. > > This application is used many dependencies, some of which make sense are: > * JSF-RI 1.2 & Facelets & RichFaces 3.2.0 > * Spring 2.5.2 > * CXF 2.0.5-incubator. > > During trying to run application on GlassFish I met some problems, seems > related to the facts, that Geronimo is used a little bit another versions: > * MyFaces 1.2 (as JSF Implementation) > * Spring 2.0.5 > * CXF 2.0.2 > > But before one general question: how to use some default (I suppose > jdbc/ActiveDS) DataSource in my application? > We need it because by default, we are using build-in file-based HSQL, but in > these "special" pacjkages for J2EE servers we provide some better > integration - for example we are using some default DS as DataSource. It > allows user to start application by simple deploying (without any external > configuration) and avoid from using HSQL (it has some problems). > > I read documentation > (http://cwiki.apache.org/GMOxDOC21/deployment-plans.html) and trying to do > like it is described there - added resource into web.xml: > > <resource-ref> > <res-ref-name>jdbc/ActiveDS</res-ref-name> > <res-type>javax.sql.DataSource</res-type> > <res-auth>Container</res-auth> > <res-sharing-scope>Shareable</res-sharing-scope> > </resource-ref> > > And added dependency into geronimo-web.xml (may be it is not correct - but I > tried different ways): > > > <web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1" > xmlns:nam="http://geronimo.apache.org/xml/ns/naming-1.2" > xmlns:sec="http://geronimo.apache.org/xml/ns/security-2.0" > xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.2"> > > <sys:environment> > <sys:moduleId> > <sys:groupId>org.emforge</sys:groupId> > <sys:artifactId>EmForge</sys:artifactId> > <sys:version>0.23</sys:version> > <sys:type>war</sys:type> > </sys:moduleId> > > <sys:hidden-classes> > > <sys:filter>org.jaxen,org.springframework,org.apache.cxf</sys:filter> > </sys:hidden-classes> > > <sys:dependencies> > <sys:dependency> > <sys:groupId>console.dbpool</sys:groupId> > <sys:artifactId>jdbc%2FActiveDS</sys:artifactId> > </sys:dependency> > </sys:dependencies> > </sys:environment> > <context-root>/EmForge</context-root> > <nam:resource-ref> > <nam:ref-name>jdbc/ActiveDS</nam:ref-name> > <nam:resource-link>jdbc/ActiveDS</nam:resource-link> > <nam:pattern> > <nam:groupId>console.dbpool</nam:groupId> > <nam:artifactId>jdbc%2FActiveDS</nam:artifactId> > <nam:name>jdbc/ActiveDS</nam:name> > </nam:pattern> > </nam:resource-ref> > > > But in this case I'm getting error during deployment: > > error: cvc-complex-type.2.4a: Expected elements > 'non-overridable-classes@http://geronimo.apache.org/xml/ns/deployment-1.2 > inverse-classloading@http://geronimo.apache.org/xml/ns/deployment-1.2 > suppress-default-environment@http://geronimo.apache.org/xml/ns/deployment-1.2' > instead of 'dependencies@http://geronimo.apache.org/xml/ns/deployment-1.2' > here in element environment@http://geronimo.apache.org/xml/ns/deployment-1.2 > > > error: cvc-complex-type.2.4b: Element not allowed: > pattern@http://geronimo.apache.org/xml/ns/naming-1.2 in element > resource-ref@http://geronimo.apache.org/xml/ns/naming-1.2 > > > > > > What I'm doing wrong here? > > > Another question - MyFaces and JSF-RI? > Is it possible to configure somehow my application to use JSF-RI instead of > MyFaces. Problem is - we have some custom renderers, which implementation > is inherited from com.sun renderers, so - when I'm deploying application > into Geronimo - I'm getting class-not-found error. > > Last Question - Implementing Web-Services with using CXF & Spring. > Some services in our application wrapped with CXF-based Web-Services > Implementation. For doing it we have defined in spring context: > > <!-- Load CXF modules from cxf.jar --> > <import resource="classpath:META-INF/cxf/cxf.xml" /> > <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> > <import resource="classpath:META-INF/cxf/cxf-servlet.xml" /> > > <!-- Enable message logging using the CXF logging feature --> > <cxf:bus> > <cxf:features> > <cxf:logging/> > </cxf:features> > </cxf:bus> > > > <!-- Service endpoint --> > <!-- See http://incubator.apache.org/cxf/faq.html regarding CXF + Spring > AOP --> > <jaxws:endpoint id="bpmWsService" > implementorClass="org.emforge.jbpm.BpmServiceImpl" > implementor="#bpmService" > address="/org.emforge.BpmService"> > <jaxws:inInterceptors> > <bean > class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor"/> > <ref bean="wss4jInConfiguration"/> > > <bean > class="ru.emdev.EmForge.security.ValidateUserTokenInterceptor"/> > </jaxws:inInterceptors> > </jaxws:endpoint> > > > But I'm getting followed error during starting application: > > org.springframework.beans.factory.UnsatisfiedDependencyException: Error > creating bean with name 'bpmWsService': Unsatisfied dependency expressed > through constructor argument with index 2 of type [java.lang.String]: > Ambiguous constructor argument types - did you specify the correct bean > references as constructor arguments? > > > I tried both - put org.apache.cxf and org.springframework into > hidden-classes via: > <sys:hidden-classes> > <sys:filter>org.jaxen</sys:filter> > <sys:filter>org.springframework</sys:filter> > <sys:filter>org.apache.cxf</sys:filter> > </sys:hidden-classes> > > But still getting this error. > > I tried to hide classes via: > <sys:hidden-classes> > > <sys:filter>org.jaxen,org.springframework,org.apache.cxf</sys:filter> > </sys:hidden-classes> > > but it is not work at all (I'm starting to get errors related to org.jaxen). > > I tried to switch my application to cxf-2.0.2 (since for me it is not so > important which version is used and I like the idea to remove some > dependencies from our war-file to make is smaller) - same effect. > I tried to remove cxf from my war-file libs (so, to use only cxf from > geronimo) - I've got error ClassNotFound on servlet definition: > > <servlet> > <servlet-name>CXFServlet</servlet-name> > <servlet-class> > org.apache.cxf.transport.servlet.CXFServlet > </servlet-class> > </servlet> > <servlet-mapping> > <servlet-name>CXFServlet</servlet-name> > <url-pattern>/ws</url-pattern> > </servlet-mapping> > <servlet-mapping> > <servlet-name>CXFServlet</servlet-name> > <url-pattern>/ws/*</url-pattern> > </servlet-mapping> > > > I looked into tutorials - but found only tutorial about writting > web-services for Geronimo with using Axis2 - not CXF... > > > So, really do not know what is a correct way to define CXF-based > web-services in Geronimo. Does anybody has any suggestions. > > > I will be happy to any help. For us it is really important to add support > for Geronimo - in this case our application with run on all most-important > Open-Source J2EE servers. > > -- > With best regards, > Alexey Kakunin |
|
|
Re: Migrting application into GeronimoThank you - but really do not think it will help us - since application do not have ANY JBoss specific code - as I wrote - in our development we are using Tomcat 5.5 without any J2EE - and everything works
But I will try to look at this tool. 2008/4/28, Ted Kirby <ted.kirby@...>: The JBoss to Geronimo Migration Tool (J2G) may be of interest/use to -- With best regards, Alexey Kakunin |
|
|
Re: Migrting application into GeronimoOn Apr 28, 2008, at 9:50 AM, Alexey Kakunin wrote: Hello! I'm currently working with migrating quite big war-only application (http://www.emforge.org) to the Geronimo. You've got the ordering wrong. Move your <sys:hidden-classes> element below your <sys:dependencies>. Will take a look at your other questions later... --kevan |
|
|
Re: Migrting application into GeronimoTry adding <sys:filter>META-INF/spring</sys:filter> to your
<sys:hidden-classes> element. That might help with the UnsatisfiedDependencyException but I'm not 100% sure. Jarek On Mon, Apr 28, 2008 at 9:50 AM, Alexey Kakunin <akakunin@...> wrote: > Hello! I'm currently working with migrating quite big war-only application > (http://www.emforge.org) to the Geronimo. > We are using Tomcat 5.5/6.0 for development, but already prepared "special" > versions for JBossAS and GlassFis to provide better integration > (http://www.emforge.org/wiki/EmForgeJ2EEIntegration has a little bit more > details). > > So, now the turn on Geronimo. > > This application is used many dependencies, some of which make sense are: > * JSF-RI 1.2 & Facelets & RichFaces 3.2.0 > * Spring 2.5.2 > * CXF 2.0.5-incubator. > > During trying to run application on GlassFish I met some problems, seems > related to the facts, that Geronimo is used a little bit another versions: > * MyFaces 1.2 (as JSF Implementation) > * Spring 2.0.5 > * CXF 2.0.2 > > But before one general question: how to use some default (I suppose > jdbc/ActiveDS) DataSource in my application? > We need it because by default, we are using build-in file-based HSQL, but in > these "special" pacjkages for J2EE servers we provide some better > integration - for example we are using some default DS as DataSource. It > allows user to start application by simple deploying (without any external > configuration) and avoid from using HSQL (it has some problems). > > I read documentation > (http://cwiki.apache.org/GMOxDOC21/deployment-plans.html) and trying to do > like it is described there - added resource into web.xml: > > <resource-ref> > <res-ref-name>jdbc/ActiveDS</res-ref-name> > <res-type>javax.sql.DataSource</res-type> > <res-auth>Container</res-auth> > <res-sharing-scope>Shareable</res-sharing-scope> > </resource-ref> > > And added dependency into geronimo-web.xml (may be it is not correct - but I > tried different ways): > > > <web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1" > xmlns:nam="http://geronimo.apache.org/xml/ns/naming-1.2" > xmlns:sec="http://geronimo.apache.org/xml/ns/security-2.0" > xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.2"> > > <sys:environment> > <sys:moduleId> > <sys:groupId>org.emforge</sys:groupId> > <sys:artifactId>EmForge</sys:artifactId> > <sys:version>0.23</sys:version> > <sys:type>war</sys:type> > </sys:moduleId> > > <sys:hidden-classes> > > <sys:filter>org.jaxen,org.springframework,org.apache.cxf</sys:filter> > </sys:hidden-classes> > > <sys:dependencies> > <sys:dependency> > <sys:groupId>console.dbpool</sys:groupId> > <sys:artifactId>jdbc%2FActiveDS</sys:artifactId> > </sys:dependency> > </sys:dependencies> > </sys:environment> > <context-root>/EmForge</context-root> > <nam:resource-ref> > <nam:ref-name>jdbc/ActiveDS</nam:ref-name> > <nam:resource-link>jdbc/ActiveDS</nam:resource-link> > <nam:pattern> > <nam:groupId>console.dbpool</nam:groupId> > <nam:artifactId>jdbc%2FActiveDS</nam:artifactId> > <nam:name>jdbc/ActiveDS</nam:name> > </nam:pattern> > </nam:resource-ref> > > > But in this case I'm getting error during deployment: > > error: cvc-complex-type.2.4a: Expected elements > 'non-overridable-classes@http://geronimo.apache.org/xml/ns/deployment-1.2 > inverse-classloading@http://geronimo.apache.org/xml/ns/deployment-1.2 > suppress-default-environment@http://geronimo.apache.org/xml/ns/deployment-1.2' > instead of 'dependencies@http://geronimo.apache.org/xml/ns/deployment-1.2' > here in element environment@http://geronimo.apache.org/xml/ns/deployment-1.2 > > > error: cvc-complex-type.2.4b: Element not allowed: > pattern@http://geronimo.apache.org/xml/ns/naming-1.2 in element > resource-ref@http://geronimo.apache.org/xml/ns/naming-1.2 > > > > > > What I'm doing wrong here? > > > Another question - MyFaces and JSF-RI? > Is it possible to configure somehow my application to use JSF-RI instead of > MyFaces. Problem is - we have some custom renderers, which implementation > is inherited from com.sun renderers, so - when I'm deploying application > into Geronimo - I'm getting class-not-found error. > > Last Question - Implementing Web-Services with using CXF & Spring. > Some services in our application wrapped with CXF-based Web-Services > Implementation. For doing it we have defined in spring context: > > <!-- Load CXF modules from cxf.jar --> > <import resource="classpath:META-INF/cxf/cxf.xml" /> > <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> > <import resource="classpath:META-INF/cxf/cxf-servlet.xml" /> > > <!-- Enable message logging using the CXF logging feature --> > <cxf:bus> > <cxf:features> > <cxf:logging/> > </cxf:features> > </cxf:bus> > > > <!-- Service endpoint --> > <!-- See http://incubator.apache.org/cxf/faq.html regarding CXF + Spring > AOP --> > <jaxws:endpoint id="bpmWsService" > implementorClass="org.emforge.jbpm.BpmServiceImpl" > implementor="#bpmService" > address="/org.emforge.BpmService"> > <jaxws:inInterceptors> > <bean > class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor"/> > <ref bean="wss4jInConfiguration"/> > > <bean > class="ru.emdev.EmForge.security.ValidateUserTokenInterceptor"/> > </jaxws:inInterceptors> > </jaxws:endpoint> > > > But I'm getting followed error during starting application: > > org.springframework.beans.factory.UnsatisfiedDependencyException: Error > creating bean with name 'bpmWsService': Unsatisfied dependency expressed > through constructor argument with index 2 of type [java.lang.String]: > Ambiguous constructor argument types - did you specify the correct bean > references as constructor arguments? > > > I tried both - put org.apache.cxf and org.springframework into > hidden-classes via: > <sys:hidden-classes> > <sys:filter>org.jaxen</sys:filter> > <sys:filter>org.springframework</sys:filter> > <sys:filter>org.apache.cxf</sys:filter> > </sys:hidden-classes> > > But still getting this error. > > I tried to hide classes via: > <sys:hidden-classes> > > <sys:filter>org.jaxen,org.springframework,org.apache.cxf</sys:filter> > </sys:hidden-classes> > > but it is not work at all (I'm starting to get errors related to org.jaxen). > > I tried to switch my application to cxf-2.0.2 (since for me it is not so > important which version is used and I like the idea to remove some > dependencies from our war-file to make is smaller) - same effect. > I tried to remove cxf from my war-file libs (so, to use only cxf from > geronimo) - I've got error ClassNotFound on servlet definition: > > <servlet> > <servlet-name>CXFServlet</servlet-name> > <servlet-class> > org.apache.cxf.transport.servlet.CXFServlet > </servlet-class> > </servlet> > <servlet-mapping> > <servlet-name>CXFServlet</servlet-name> > <url-pattern>/ws</url-pattern> > </servlet-mapping> > <servlet-mapping> > <servlet-name>CXFServlet</servlet-name> > <url-pattern>/ws/*</url-pattern> > </servlet-mapping> > > > I looked into tutorials - but found only tutorial about writting > web-services for Geronimo with using Axis2 - not CXF... > > > So, really do not know what is a correct way to define CXF-based > web-services in Geronimo. Does anybody has any suggestions. > > > I will be happy to any help. For us it is really important to add support > for Geronimo - in this case our application with run on all most-important > Open-Source J2EE servers. > > -- > With best regards, > Alexey Kakunin |
|
|
Re: Migrting application into GeronimoJarek
thank you very much for advise - but it did not helped :( Can you explain me why this may help me (probably understanding this I will able to find some other solution) Thank you again.
2008/5/5 Jarek Gawor <jgawor@...>: Try adding <sys:filter>META-INF/spring</sys:filter> to your -- With best regards, Alexey Kakunin |
| Free Forum Powered by Nabble | Forum Help |
