Нарушение спецификации EJB: управляемый сообщениями компонент должен объявлять один метод onMessage () - PullRequest
0 голосов
/ 09 ноября 2011

Я работаю над каким-то проектом по миграции, включающему перемещение множества вещей из Ant / CVS / Jboss4 / Java5 в Maven / SVN / Jboss7 / Java6 - это становится неприятным.

Первый шаг, яработа над переносом сборки муравья в maven - это само по себе сопряжено с большими сложностями.Теперь, когда я собрал файл ear и сравнил его с ear из ant build, я думаю, что у меня получилось хорошо с maven build.

Теперь, сначала развернув Jboss4, я предпочитаю

[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 развертывание нарушения спецификации бина, управляемого сообщениями - так что я решил, что использую неправильную библиотеку в моей новой сборке maven, заменил ее и убедился, что она используетта же библиотека javax.jms (теперь она указывает на тот же jar, содержащий javax.jms.Message, что и исходная сборка ant) ​​- фактически я просто взял jar, на который ссылается сборка ant, и загрузил его в репозиторий maven и сослался на него из моего mavenbuild.

Но я все еще сталкиваюсь с вышеуказанной проблемой.Оригинальная сборка муравья развернулась бы без проблем, но в настоящее время я застрял в этом вопросе для уха maven-build.

Есть ли какие-либо предложения о том, какие еще шаги я могу предпринять, чтобы убедиться, что нет проблем с файлами классов?Спасибо!

1 Ответ

1 голос
/ 09 ноября 2011

Есть ли в вашем ухе библиотека javax.jms (jboss-j2ee.jar, jboss-client.jar и т. Д.)? Если это так, вы не хотите этого, так как вы хотите использовать тот, который предоставляется сервером приложений. Вы можете исправить это, изменив зависимость в вашей поме, чтобы иметь <scope>provided</scope> для всего, что не должно быть в вашем ухе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...