[jboss-jira] [JBoss JIRA] Commented: (EJBTHREE-1652) Undeployment of EJB leaves JNDI information
chris effenberger (JIRA)
jira-events at lists.jboss.org
Tue Jan 20 04:18:04 EST 2009
[ https://jira.jboss.org/jira/browse/EJBTHREE-1652?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12448686#action_12448686 ]
chris effenberger commented on EJBTHREE-1652:
---------------------------------------------
I have problems with undeploy. If I undeploy the name in the JNDI tree is still registered.
But redeploy works for me.
> Undeployment of EJB leaves JNDI information
> -------------------------------------------
>
> Key: EJBTHREE-1652
> URL: https://jira.jboss.org/jira/browse/EJBTHREE-1652
> Project: EJB 3.0
> Issue Type: Bug
> Affects Versions: AS 4.2.3.GA
> Environment: JBoss 4.2.3, Java 1.6_07, Ubuntu Linux 8.04
> Reporter: Jose Antonio
>
> I'm developing an application and I want my EJBs JNDI mapping to be controlled by me. To do so, I have this annotation in my EJB:
> @Stateless(name="LocalDataSource", mappedName="LocalDataSource")
> public class LocalDataSourceBean implements LocalDataSourceLocal, LocalDatasourceRemote {
> But as JBoss seems to ignore the mappedName attribute at least when it's deployed in an EAR, I include also the following jboss.xml file:
> <?xml version="1.0" encoding="UTF-8"?>
> <jboss
> xmlns="http://java.sun.com/xml/ns/javaee"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
> http://www.jboss.org/j2ee/schema/jboss_5_0.xsd"
> version="3.0">
> <enterprise-beans>
> <session>
> <ejb-name>LocalDataSource</ejb-name>
> <local-jndi-name>LocalDataSource</local-jndi-name>
> </session>
> </enterprise-beans>
> </jboss>
> That seems to work as my EJB is deployed to the LocalDataSource global JNDI address. This jar will be deployed in an ear eventually but now that I'm doing development, I'm deploying it as an EJB jar directly. That jar has also some JPA classes and a persitence.xml file.
> I can deploy and use the file the first time that I copy it to the deploy directory or the first time that I start JBoss, but when I try to undeploy it I get this:
> 15:46:57,411 INFO [EJBContainer] STOPPED EJB: com.andago.healthassistant.datasource.local.LocalDataSourceBean ejbName: LocalDataSource
> 15:46:57,413 WARN [JmxKernelAbstraction] jboss.j2ee:jar=OHA-local-backend-1.0-SNAPSHOT.jar,name=LocalDataSource,service=EJB3 is not registered
> 15:46:57,414 INFO [PersistenceUnitDeployment] Stopping persistence unit persistence.units:jar=OHA-local-backend-1.0-SNAPSHOT.jar,unitName=DocumentPersistenceJTA
> 15:46:57,414 INFO [SessionFactoryImpl] closing
> 15:46:57,414 INFO [SessionFactoryObjectFactory] Unbinding factory from JNDI name: persistence.units:jar=OHA-local-backend-1.0-SNAPSHOT.jar,unitName=DocumentPersistenceJTA
> 15:46:57,414 INFO [NamingHelper] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}
> 15:46:57,414 INFO [SessionFactoryObjectFactory] Unbound factory from JNDI name: persistence.units:jar=OHA-local-backend-1.0-SNAPSHOT.jar,unitName=DocumentPersistenceJTA
> 15:46:57,415 WARN [JmxKernelAbstraction] persistence.units:jar=OHA-local-backend-1.0-SNAPSHOT.jar,unitName=DocumentPersistenceJTA is not registered
> and when I try to redeploy it, I get the following error:
> ..........................
> 15:57:28,480 INFO [NamingHelper] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}
> 15:57:28,489 INFO [JmxKernelAbstraction] creating wrapper delegate for: org.jboss.ejb3.stateless.StatelessContainer
> 15:57:28,489 INFO [JmxKernelAbstraction] installing MBean: jboss.j2ee:jar=OHA-local-backend-1.0-SNAPSHOT.jar,name=LocalDataSource,service=EJB3 with dependencies:
> 15:57:28,489 INFO [JmxKernelAbstraction] persistence.units:jar=OHA-local-backend-1.0-SNAPSHOT.jar,unitName=DocumentPersistenceJTA
> 15:57:28,494 INFO [EJBContainer] STARTED EJB: com.andago.healthassistant.datasource.local.LocalDataSourceBean ejbName: LocalDataSource
> 15:57:28,496 INFO [EJBContainer] STOPPED EJB: com.andago.healthassistant.datasource.local.LocalDataSourceBean ejbName: LocalDataSource
> 15:57:28,497 WARN [ServiceController] Problem starting service jboss.j2ee:jar=OHA-local-backend-1.0-SNAPSHOT.jar,name=LocalDataSource,service=EJB3
> java.lang.ClassCastException: $Proxy173 cannot be cast to javax.naming.Context
> at org.jboss.util.naming.Util.createSubcontext(Util.java:69)
> at org.jboss.util.naming.Util.rebind(Util.java:125)
> at org.jboss.util.naming.Util.rebind(Util.java:113)
> at org.jboss.ejb3.stateless.BaseStatelessProxyFactory.bindProxy(BaseStatelessProxyFactory.java:231)
> at org.jboss.ejb3.stateless.BaseStatelessProxyFactory.start(BaseStatelessProxyFactory.java:216)
> at org.jboss.ejb3.stateless.StatelessRemoteProxyFactory.start(StatelessRemoteProxyFactory.java:120)
> at org.jboss.ejb3.ProxyDeployer.start(ProxyDeployer.java:83)
> at org.jboss.ejb3.SessionContainer.start(SessionContainer.java:157)
> at org.jboss.ejb3.stateless.StatelessContainer.start(StatelessContainer.java:102)
> 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:597)
> at org.jboss.ejb3.ServiceDelegateWrapper.startService(ServiceDelegateWrapper.java:103)
> at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
> at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
> at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
> at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
> at $Proxy0.start(Unknown Source)
> at org.jboss.system.ServiceController.start(ServiceController.java:417)
> at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
> at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> at $Proxy177.start(Unknown Source)
> at org.jboss.ejb3.JmxKernelAbstraction.install(JmxKernelAbstraction.java:120)
> at org.jboss.ejb3.Ejb3Deployment.registerEJBContainer(Ejb3Deployment.java:301)
> at org.jboss.ejb3.Ejb3Deployment.start(Ejb3Deployment.java:362)
> at org.jboss.ejb3.Ejb3Module.startService(Ejb3Module.java:91)
> at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
> at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
> at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
> at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
> at $Proxy0.start(Unknown Source)
> at org.jboss.system.ServiceController.start(ServiceController.java:417)
> at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
> at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> at $Proxy33.start(Unknown Source)
> at org.jboss.ejb3.EJB3Deployer.start(EJB3Deployer.java:512)
> 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:597)
> at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
> at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
> at org.jboss.wsf.container.jboss42.DeployerInterceptor.start(DeployerInterceptor.java:87)
> at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.start(SubDeployerInterceptorSupport.java:188)
> at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:95)
> at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> at $Proxy34.start(Unknown Source)
> at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
> at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
> at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
> at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> at $Proxy9.deploy(Unknown Source)
> at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
> at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:634)
> at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
> at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
> at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
> 15:57:28,498 INFO [EJB3Deployer] Deployed: file:/home/jsanchez/apps/jboss/jboss-4.2.3.GA/server/default/deploy/OHA/OHA-local-backend-1.0-SNAPSHOT.jar
> 15:57:28,500 ERROR [URLDeploymentScanner] Incomplete Deployment listing:
> --- MBeans waiting for other MBeans ---
> ObjectName: jboss.j2ee:jar=OHA-local-backend-1.0-SNAPSHOT.jar,name=LocalDataSource,service=EJB3
> State: FAILED
> Reason: java.lang.ClassCastException: $Proxy173 cannot be cast to javax.naming.Context
> I Depend On:
> persistence.units:jar=OHA-local-backend-1.0-SNAPSHOT.jar,unitName=DocumentPersistenceJTA
> --- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM ---
> ObjectName: jboss.j2ee:jar=OHA-local-backend-1.0-SNAPSHOT.jar,name=LocalDataSource,service=EJB3
> State: FAILED
> Reason: java.lang.ClassCastException: $Proxy173 cannot be cast to javax.naming.Context
> I Depend On:
> persistence.units:jar=OHA-local-backend-1.0-SNAPSHOT.jar,unitName=DocumentPersistenceJTA
> I cannot redeploy the jar and I have to restart JBoss in order to be able to update the ejb-jar. If I go to the JNDI list in the jmx-console, I see that, once the ejb-jar is deleted, the name LocalDataSource is still registered.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list