[jboss-user] [JBoss Seam] - unit testing a war with actions in a separate jar
c_inconnu
do-not-reply at jboss.com
Mon Apr 2 12:27:54 EDT 2007
Hi,
I am trying to repackage the booking example in 3 jars :
-domain.jar for the ejb entities
-ejb.jar for the actions
-web.war for the webapp
I managed to successfully unit test the actions (BookingUnitTest) but i cannot make i work for the webapp.
In domain.jar i have :
anonymous wrote :
| META-INF/persistence.xml
| org/jboss/seam/example/booking/Booking.class
| org/jboss/seam/example/booking/Hotel.class
| org/jboss/seam/example/booking/User.class
| seam.properties (empty)
|
In ejb.jar i have :
anonymous wrote :
| META-INF/ejb-jar.xml (with SeamInterceptor)
| org/jboss/seam/example/booking/***Action.class
| seam.properties (empty)
|
My webapp depends on domain.jar and ejb.jar and in my webapp target/classes directory i have :
anonymous wrote :
| css/**
| img/**
| org/jboss/seam/example/booking/***Test.class
| WEB-INF/components.xml
| WEB-INF/faces-config.xml
| WEB-INF/navigation.xml
| WEB-INF/pages.xml
| WEB-INF/web.xml
| *.xtml
| components.properties
|
components.xml :
| <components ...>
|
| <core:init debug="true" jndi-pattern="@jndiPattern@" />
|
| <core:manager concurrent-request-timeout="500" conversation-timeout="120000" conversation-id-parameter="cid"
| conversation-is-long-running-parameter="clr" />
|
| <core:pages no-conversation-view-id="/index.xhtml" />
|
| <!-- in embedded.jar -->
| <!--core:ejb installed="@embeddedEjb@" /-->
|
| </components>
components.properties :
| embeddedEjb = true
| jndiPattern = #{ejbName}/local
|
It works in an ear but here i got:
| FAILED: testBookHotel
| org.jboss.seam.InstantiationException: Could not instantiate Seam component: hotelSearch
| at org.jboss.seam.Component.newInstance(Component.java:1740)
| at org.jboss.seam.Component.getInstance(Component.java:1643)
| at org.jboss.seam.Component.getInstance(Component.java:1610)
| at org.jboss.seam.Component.getInstance(Component.java:1604)
| at org.jboss.seam.jsf.SeamELResolver.getValue(SeamELResolver.java:49)
| at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:135)
| at com.sun.el.parser.AstIdentifier.getValue(AstIdentifier.java:44)
| at com.sun.el.parser.AstValue.getTarget(AstValue.java:41)
| at com.sun.el.parser.AstValue.setValue(AstValue.java:111)
| at com.sun.el.ValueExpressionImpl.setValue(ValueExpressionImpl.java:246)
| at org.jboss.seam.util.UnifiedELValueBinding.setValue(UnifiedELValueBinding.java:44)
| at org.jboss.seam.mock.SeamTest$Request.setValue(SeamTest.java:374)
| at org.jboss.seam.example.booking.BookingTest$2.updateModelValues(BookingTest.java:62)
| at org.jboss.seam.mock.SeamTest$Request.run(SeamTest.java:476)
| at org.jboss.seam.example.booking.BookingTest.testBookHotel(BookingTest.java:80)
| Caused by: javax.naming.NameNotFoundException: HotelSearchingAction not bound
| at org.jnp.server.NamingServer.getBinding(NamingServer.java:529)
| at org.jnp.server.NamingServer.getBinding(NamingServer.java:537)
| at org.jnp.server.NamingServer.getObject(NamingServer.java:543)
| at org.jnp.server.NamingServer.lookup(NamingServer.java:267)
| at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:626)
| at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:588)
| at javax.naming.InitialContext.lookup(InitialContext.java:351)
| at org.jboss.seam.Component.instantiateSessionBean(Component.java:1107)
| at org.jboss.seam.Component.instantiate(Component.java:1093)
| at org.jboss.seam.Component.newInstance(Component.java:1736)
| ... 35 more
| ... Removed 21 stack frames
although i have
|
| INFO 2007-04-02 18:03:48,468 (Component.java:245) - Component: hotelSearch, scope: SESSION, type: STATEFUL_SESSION_BEAN, class: org.jboss.seam.example.booking.HotelSearchingAction, JNDI: HotelSearchingAction/local
|
| ...
|
|
| INFO 2007-04-02 18:03:52,296 (Ejb3DescriptorHandler.java:1699) - adding class annotation org.jboss.annotation.internal.DefaultInterceptorMarker to org.jboss.seam.example.booking.HotelSearchingAction org.jboss.annotation.internal.DefaultInterceptorMarkerImpl at 14b74a7
| DEBUG 2007-04-02 18:03:52,296 (Ejb3DescriptorHandler.java:1701) - adding class annotation org.jboss.annotation.internal.DefaultInterceptorMarker to org.jboss.seam.example.booking.HotelSearchingAction org.jboss.annotation.internal.DefaultInterceptorMarkerImpl at 14b74a7
| DEBUG 2007-04-02 18:03:52,296 (Ejb3AnnotationHandler.java:164) - found EJB3: ejbName=HotelSearchingAction, class=org.jboss.seam.example.booking.HotelSearchingAction, type=STATEFUL
| DEBUG 2007-04-02 18:03:52,296 (ProxyDeployer.java:133) - no declared remote bindings for : HotelSearchingAction
|
So it seems to be a classloading problem (???)
Any help will be greatly appreciated !
David
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4033754#4033754
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4033754
More information about the jboss-user
mailing list