You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geronimo.apache.org by Jarek Gawor <jg...@gmail.com> on 2008/05/05 18:31:00 UTC
Re: Migrting application into Geronimo
Try 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 <ak...@emdev.ru> 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 Geronimo
Posted by Alexey Kakunin <ak...@emdev.ru>.
Jarek
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 <jg...@gmail.com>:
> Try 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 <ak...@emdev.ru> 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
>
--
With best regards,
Alexey Kakunin