JCA 1.5: EndpointFactory is currently not available when activating MDB
Hi all?br>
I have already developed a JCA 1.5 connector, implementing Message Inflow contract which will allow a MDB endpoint to asynchronously receive JMS messages from Oracle AQ EIS.
Actually when I deploy the MDB endpoint in my application server instance (SJSAS 9), the method 揺ndpointActivation(MessageEndpointFactory, ActivationSpec)?on the JCA connector is called with the appropriate properties configured in the MDB endpoint deployment descriptor, like this:
<sun-ejb-jar>
<enterprise-beans>
<name>AQMDBListenerEndpoint</name>
<unique-id>239732644</unique-id>
<ejb>
<ejb-name>AQReader</ejb-name>
<mdb-resource-adapter>
<resource-adapter-mid>OracleAQConnector</resource-adapter-mid>
<activation-config>
<activation-config-property>
<activation-config-property-name>aqTopicName</activation-config-proper ty-name>
<activation-config-property-value>UPDATE_QUEUE</activation-config-prop erty-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>aqTopicUser</activation-config-proper ty-name>
<activation-config-property-value>DISPATCH</activation-config-property -value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>aqSubscriptionId</activation-config-p roperty-name>
<activation-config-property-value>DispactchAQReader</activation-config -property-value>
</activation-config-property>
</activation-config>
</mdb-resource-adapter>
</ejb>
</enterprise-beans>
</sun-ejb-jar>
Now, when executing this sentence in the 揺ndpointActivation?method body:
messageEndpointFactory.createEndpoint(activation);
The Resource Adapter thread stay blocked for a while and eventually claims with the following errors in the server log:
MDB deployment is still happening. Cannot create end point now.
EndpointFactory is currently not available
at com.sun.enterprise.connectors.inflow.ConnectorMessageBeanClient.createEndpoint( ConnectorMessageBeanClient.java:346)
at com.deu.oracleaqra.OracleAQResourceAdapter.endpointActivation(OracleAQResourceA dapter.java:49)
at com.sun.enterprise.connectors.inflow.ConnectorMessageBeanClient.setup(Connector MessageBeanClient.java:239)
at com.sun.ejb.containers.MessageBeanContainer.<init>(MessageBeanContainer.j ava:194)
at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImp l.java:539)
at com.sun.enterprise.server.AbstractLoader.loadEjbs(AbstractLoader.java:486)
at com.sun.enterprise.server.EJBModuleLoader.load(EJBModuleLoader.java:158)
at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAlone EJBModulesManager.java:219)
at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAlone EJBModulesManager.java:174)
at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAlone EJBModulesManager.java:406)
at com.sun.enterprise.admin.event.AdminEventMulticaster.invokeModuleDeployEventLis tener(AdminEventMulticaster.java:954)
at com.sun.enterprise.admin.event.AdminEventMulticaster.handleModuleDeployEvent(Ad minEventMulticaster.java:941)
at com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEventMul ticaster.java:448)
at com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEventM ulticaster.java:160)
at com.sun.enterprise.admin.server.core.DeploymentNotificationHelper.multicastEven t(DeploymentNotificationHelper.java:296)
at com.sun.enterprise.deployment.phasing.DeploymentServiceUtils.multicastEvent(Dep loymentServiceUtils.java:203)
at com.sun.enterprise.deployment.phasing.ServerDeploymentTarget.sendStartEvent(Ser verDeploymentTarget.java:285)
at com.sun.enterprise.deployment.phasing.ApplicationStartPhase.runPhase(Applicatio nStartPhase.java:119)
at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPh ase.java:95)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.executePhases(PEDeplo ymentService.java:871)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.deploy(PEDeploymentSe rvice.java:263)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.deploy(PEDeploymentSe rvice.java:281)
at com.sun.enterprise.admin.mbeans.ApplicationsConfigMBean.deploy(ApplicationsConf igMBean.java:534)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.ja va:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:353 )
at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:336 )
at com.sun.enterprise.admin.config.BaseConfigMBean.invoke(BaseConfigMBean.java:448 )
at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:213 )
at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:220)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServer Interceptor.java:815)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:784)
at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.ja va:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.sun.enterprise.admin.util.proxy.ProxyClass.invoke(ProxyClass.java:77)
at $Proxy1.invoke(Unknown Source)
at com.sun.enterprise.admin.server.core.jmx.SunoneInterceptor.invoke(SunoneInterce ptor.java:297)
at com.sun.enterprise.deployment.autodeploy.AutoDeployer.invokeDeploymentService(A utoDeployer.java:413)
at com.sun.enterprise.deployment.autodeploy.AutoDeployer.deploy(AutoDeployer.java: 394)
at com.sun.enterprise.deployment.autodeploy.AutoDeployer.deployAll(AutoDeployer.ja va:253)
at com.sun.enterprise.deployment.autodeploy.AutoDeployControllerImpl$AutoDeployTas k.run(AutoDeployControllerImpl.java:358)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
Please any help or comments would be very appreciated.....
Regards

