[jboss-user] [JBoss Web Services Users] - Ears sharing jars

neillott do-not-reply at jboss.com
Tue Oct 27 12:29:10 EDT 2009


Hi,

I have one jboss instance running jboss 5.1 with webservices Version: jbossws-native-3.2.0.GA.

In this instance I deploy 6 ears all of which have an interface that specifies something like this

@WebService
@SOAPBinding (
   style = SOAPBinding.Style.DOCUMENT,
   use = SOAPBinding.Use.LITERAL,
   parameterStyle = SOAPBinding.ParameterStyle.WRAPPED
)
public interface OnDemand
{
     public void method1();
     ...
}

I then implement this interface.  

When I deploy the ear, the ear contains the following:

[neil at flicker main ondemand]$ jar -tvf generated/server/ear/ondemand-5.2.3.ear 
     0 Tue Oct 27 10:15:40 MDT 2009 META-INF/
   256 Tue Oct 27 10:15:38 MDT 2009 META-INF/MANIFEST.MF
     0 Tue Oct 27 10:15:40 MDT 2009 lib/
358273 Tue Oct 27 10:15:40 MDT 2009 lib/antlr-2.7.2.jar
 73425 Tue Oct 27 10:15:38 MDT 2009 lib/avalon-framework-4.1.5.jar
321201 Tue Oct 27 10:15:40 MDT 2009 lib/backport-util-concurrent-60-3.1.jar
595558 Tue Oct 27 10:15:38 MDT 2009 lib/catalogsif-5.2.3.jar
121757 Tue Oct 27 10:15:40 MDT 2009 lib/commons-dbcp-1.2.2.jar
 96067 Tue Oct 27 10:15:38 MDT 2009 lib/commons-pool-1.5.1.jar
727837 Tue Oct 27 10:15:40 MDT 2009 lib/coreif-5.2.3.jar
632663 Tue Oct 27 10:15:38 MDT 2009 lib/dbif-5.2.3.jar
1059115 Tue Oct 27 10:15:40 MDT 2009 lib/isa-1.4.4.jar
 88778 Tue Oct 27 10:15:40 MDT 2009 lib/isautilsif-5.2.3.jar
5750674 Tue Oct 27 10:15:38 MDT 2009 lib/jacorb-2.3.2.jar
802216 Tue Oct 27 10:15:38 MDT 2009 lib/jakarta-poi-2.5.1.jar
 89967 Tue Oct 27 10:15:38 MDT 2009 lib/jboss-jaxb-api-5.1.0.GA.jar
 50570 Tue Oct 27 10:15:40 MDT 2009 lib/jbossws-jaxws-5.1.0.GA.jar
534827 Tue Oct 27 10:15:40 MDT 2009 lib/joda-time-1.6.jar
391834 Tue Oct 27 10:15:40 MDT 2009 lib/log4j-1.2.15.jar
 86165 Tue Oct 27 10:15:40 MDT 2009 lib/logkit-1.2.jar
123874 Tue Oct 27 10:15:40 MDT 2009 lib/menumanagerif-5.2.3.jar
451525 Tue Oct 27 10:15:40 MDT 2009 lib/ondemandif-5.2.3.jar
1556269 Tue Oct 27 10:15:40 MDT 2009 lib/oracle-driver-10.2.0.4.jar
 23445 Tue Oct 27 10:15:38 MDT 2009 lib/slf4j-1.5.8.jar
  9679 Tue Oct 27 10:15:40 MDT 2009 lib/slf4j-log4j12-1.5.8.jar
  8047 Tue Oct 27 10:15:38 MDT 2009 lib/ws-coreif-5.2.3.jar
 26180 Tue Oct 27 10:15:40 MDT 2009 lib/wsif-5.2.3.jar
  9336 Tue Oct 27 10:15:38 MDT 2009 ondemand-ejb-5.2.3.jar

When I deploy only this ear for example, JBoss immediately figures out that I have a webservice and does everything right.  I'm able to access my webservice with no problem.

If I deploy multiple ears and say they share a jar like this:

451525 Tue Oct 27 10:15:40 MDT 2009 lib/ondemandif-5.2.3.jar

But then let's say one ear has  

451525 Tue Oct 27 10:15:40 MDT 2009 lib/ondemandif-5.2.3.jar

And the other ear has 

451525 Tue Oct 27 10:15:40 MDT 2009 lib/ondemandif-5.2.4.jar

Whichever ear gets deployed and used first will have its classes loaded from its ondemandif jar.  

So I tried adding a jboss-app.xml to my META-INF directory in my ear that looks like this:

<jboss-app>
   <loader-repository>
      com.mystrotv:loader=ondemandif-5.2.3.jar
      <loader-repository-config>java2ParentDelegaton=false</loader-repository-config>
   </loader-repository>
</jboss-app>


But then I get this error and my webservice won't load 

DEPLOYMENTS IN ERROR:
  Deployment "vfszip:/usr/local/mystro/jboss/server/mas-ws/deploy/ondemand-5.2.3.ear/" is in error due to the following reason(s): java.lang.RuntimeException: Bean Class com.twc.atgw.server.ws.ondemand.OnDemandImpl has no local, webservice, or remote interfaces defined and does not implement at least one business interface: OnDemandImpl

	at org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:993)
	at org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:939)
	at org.jboss.deployers.plugins.main.MainDeployerImpl.checkComplete(MainDeployerImpl.java:873)
	at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.checkComplete(MainDeployerAdapter.java:128)
	at org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:369)
	at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:255)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
	at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)

However, my webservice loads fine if I don't include this xml file.  My intention was to isolate the jars inside the ear so they are not shared across the webservice container.  My understanding was that this would accomplish that:

<loader-repository-config>java2ParentDelegaton=false</loader-repository-config>

Do I need to somehow specify my webservice annotated class in the jboss-app.xml as well?  Anyone has any hints that might help?

Thanks,

Neil








View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4262464#4262464

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4262464



More information about the jboss-user mailing list