[jboss-jira] [JBoss JIRA] (WFLY-2939) JBAS014194 Extended Implementation of 'import javax.jms.MessageListener' not accepted

Eduardo Silva (JIRA) issues at jboss.org
Mon Jun 29 20:14:02 EDT 2015


    [ https://issues.jboss.org/browse/WFLY-2939?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13084751#comment-13084751 ] 

Eduardo Silva commented on WFLY-2939:
-------------------------------------

I think that it has the same problem of WFLY-4200 :

I believe that the problem is because AnnotatedEJBComponentDescriptionDeploymentUnitProcessor executes in the parse phase:
Phase.PARSE,Phase.PARSE_CREATE_COMPONENT_DESCRIPTIONS
Since the dependencies will be resolved at Phase.DEPENDENCIES, your build will not work. 
Regarding WFLY, my suggestion is not throw the EjbLogger.ROOT_LOGGER.mdbDoesNotImplementNorSpecifyMessageListener(beanClass) only bring up some flag that the required interfaces were not yet resolved, some attachment could be useful, just to retain the super class name. When the dependencies were solved, the class will be present on the class index and the test against the annotation should be performed again. Since that work will be done twice, to verify the required interfaces, this requires some experts advice.

> JBAS014194 Extended Implementation of 'import javax.jms.MessageListener' not accepted
> -------------------------------------------------------------------------------------
>
>                 Key: WFLY-2939
>                 URL: https://issues.jboss.org/browse/WFLY-2939
>             Project: WildFly
>          Issue Type: Bug
>          Components: EJB
>    Affects Versions: 8.0.0.Final
>         Environment: Windows 7, 64bit, JDK 1.7
>            Reporter: Eugen Eisler
>
> I am trying to deploy working Weblogic EAR  to WildFly and it is not working, because a MDB (ExampleTopic1Mdb) can not be deployed, what extends a super class(SingleTypeEventListenerBridgeByJms) which implements MessageListener, but the MDB itself does not have "implements javax.jms.MessageListener".
> Error Message:
> JBAS014194: EJB 3.1 FR 5.4.2 MessageDrivenBean does not implement 1 interface nor specifies message listener interface.
> @SuppressWarnings("unused")
> @MessageDriven(mappedName = ExampleConstants.JMS_TOPIC1,
>                activationConfig = { @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Topic"),
>                    @ActivationConfigProperty(propertyName = "topicMessagesDistributionMode", propertyValue = "One-Copy-Per-Application") })
> @Traceable
> public class ExampleTopic1Mdb extends SingleTypeEventListenerBridgeByJms<Task> {
>   @Inject
>   public void setExampleSynchronizer(EventListener<Task> exampleSynchronizer) {
>     super.setEventListener(exampleSynchronizer);
>   }
> }
> public class SingleTypeEventListenerBridgeByJms<T> implements javax.jms.MessageListener {
> ....
> The class SingleTypeEventListenerBridgeByJms is in different ejb module of the EAR.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


More information about the jboss-jira mailing list