The 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 <[EMAIL PROTECTED]> 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 > '[EMAIL PROTECTED]://geronimo.apache.org/xml/ns/deployment-1.2 > [EMAIL PROTECTED]://geronimo.apache.org/xml/ns/deployment-1.2 > [EMAIL PROTECTED]://geronimo.apache.org/xml/ns/deployment-1.2' > instead of '[EMAIL PROTECTED]://geronimo.apache.org/xml/ns/deployment-1.2' > here in element [EMAIL PROTECTED]://geronimo.apache.org/xml/ns/deployment-1.2 > > > error: cvc-complex-type.2.4b: Element not allowed: > [EMAIL PROTECTED]://geronimo.apache.org/xml/ns/naming-1.2 in element > [EMAIL PROTECTED]://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
