2011-11-08 2 views
0

일부 마이그레이션 프로젝트에서 작업 중이며, Ant/CVS/Jboss4/Java5에서 Maven/SVN/Jboss7/Java6로 상당 부분 이동해야합니다. 이것은 불쾌해진다.EJB Spec 위반 : 메시지 구동 Bean은 하나의 onMessage() 메소드를 선언해야합니다.

첫 번째 단계에서는 필자가 개미 빌드를 Maven으로 옮기는 작업을하고 있습니다.이 작업은 많은 복잡성을 수반합니다. 이제 귀 파일을 만들었으므로 앤트 빌드의 귀와 비교해 보았습니다. 필자는 메이븐 빌드를 통해이 파일을 잘 처리했다고 생각합니다.

지금, 처음 Jboss4에 배포, 내가 encouter

[ejb.EJBDeployer.verifier] EJB spec violation: 
Warning: The message driven bean must declare one onMessage() method. 

2011-11-08 15:25:03,079 ERROR (Thread: main) [jboss.deployment.MainDeployer] Could not create deployment: file:/opt/jboss-4.0.3SP1/server/default/tmp/deploy/tmp46514Billing-EAR-1.0.ear-contents/processsubscriptionbean-1.0.jar 
org.jboss.deployment.DeploymentException: Verification of Enterprise Beans failed, see above for error messages. 
     at org.jboss.ejb.EJBDeployer.create(EJBDeployer.java:575) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:585) 
     at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141) 
     at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80) 
     at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:118) 
     at org.jboss.mx.server.Invocation.invoke(Invocation.java:74) 
     at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:127) 
     at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:80) 
     at org.jboss.mx.server.Invocation.invoke(Invocation.java:74) 
     at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245) 
     at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644) 
     at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176) 
     at $Proxy24.create(Unknown Source) 
     at org.jboss.deployment.MainDeployer.create(MainDeployer.java:935) 
     at org.jboss.deployment.MainDeployer.create(MainDeployer.java:925) 
     at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:789) 

내가이 스레드 jBoss deployment of message-driven bean spec violation 통해 온 - 그래서 나는 나의 새로운 받는다는 빌드 잘못된 라이브러리를 사용하여 한 생각, 나는 그것을 대체하고 사용하고 확인했다 동일한 javax.jms 라이브러리 (이제는 원래 앤트 빌드로 javax.jms.Message를 포함하는 동일한 항아리를 가리킴) - 사실 앤트 빌드에서 참조하는 jar 파일을 가져 와서 메이븐 레포에 업로드하고 빌드.

하지만 여전히 위의 문제가 발생합니다. 원래 앤트 - 빌드는 아무런 문제없이 전개 될 것이지만, 현재 나는이 문제를 maven-build 귀에 대해 고집합니다.

다른 클래스 파일 문제가 없는지 확인하기 위해 수행 할 수있는 다른 단계에 대한 제안 사항은 무엇입니까? 감사!

답변

1

javax.jms 라이브러리가 귀에 패키지되어 있습니까 (jboss-j2ee.jar, jboss-client.jar 등)? 그렇다면 앱 서버에서 제공하는 것을 사용하고 싶기 때문에 원하지 않습니다. 귀에 들려서는 안되는 것에 대해 POM의 종속성을 <scope>provided</scope>으로 변경하여이 문제를 해결할 수 있습니다.

+0

감사합니다. ... 동일한 솔루션으로 해결 한 유사 콘텐츠가 더 많이 있습니다. –

관련 문제