[infinispan-issues] [JBoss JIRA] Commented: (ISPN-309) Default session_factory_name causes MalformedObjectNameException while registering mbeans

Guenther Demetz (JIRA) jira-events at lists.jboss.org
Wed Dec 9 08:00:29 EST 2009


    [ https://jira.jboss.org/jira/browse/ISPN-309?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12499013#action_12499013 ] 

Guenther Demetz commented on ISPN-309:
--------------------------------------

After reviewing I saw that the described workaround does'nt work at all.
I had to patch class ComponentsJmxRegistration in order to make the thing work

 public ComponentsJmxRegistration(MBeanServer mBeanServer, Set<AbstractComponentRegistry.Component> components, String groupName) {
      this.mBeanServer = mBeanServer;
      this.components = components;
      this.groupName = groupName.replace(':', '_').replace('=','_');              /////    the patch
   }


The point is probably that I not deployed hiberante as a JMX-service.
I use hibernate within a standalone web-application, please see attached ADynamicWebProject.war

> Default session_factory_name causes MalformedObjectNameException while registering mbeans
> -----------------------------------------------------------------------------------------
>
>                 Key: ISPN-309
>                 URL: https://jira.jboss.org/jira/browse/ISPN-309
>             Project: Infinispan
>          Issue Type: Bug
>          Components: JMX, reporting and management
>    Affects Versions: 4.0.0.BETA2
>         Environment: JBoss AS 6.0.0.M1, Hibernate3.5-Beta2, Infinispan 'Starobrno' 4.0.0.BETA2
>            Reporter: Guenther Demetz
>            Assignee: Galder Zamarreno
>            Priority: Minor
>
> If using Hiberante with JTA and not specifying hibernate.session_factory_name explicitely,
> the Cache-region-prefix becomes a name like following: persistence.unit:unitName=#<yourpersistence-unit-name>
> For example: persistence.unit:unitName=#helloworld
> This prefix contains 2 characters (':' and '=') which are invalid for being registered as MBeans,
> therefore this leads to following exception:
> 12:14:38,207 ERROR [AbstractKernelController] Error installing to Start: name=persistence.unit:unitName=#helloworld state=Create
> org.infinispan.CacheException: Unable to invoke method public void org.infinispan.jmx.CacheJmxRegistration.registerToMBeanServer() on object 
> 	at org.infinispan.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:173)
> 	at org.infinispan.factories.AbstractComponentRegistry$PrioritizedMethod.invoke(AbstractComponentRegistry.java:884)
> 	at org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:704)
> 	at org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:594)
> 	at org.infinispan.factories.ComponentRegistry.start(ComponentRegistry.java:142)
> 	at org.infinispan.CacheDelegate.start(CacheDelegate.java:249)
> 	at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:376)
> 	at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:340)
> 	at org.hibernate.cache.infinispan.InfinispanRegionFactory.getCache(InfinispanRegionFactory.java:362)
> 	at org.hibernate.cache.infinispan.InfinispanRegionFactory.buildEntityRegion(InfinispanRegionFactory.java:163)
> 	at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:266)
> 	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1367)
> 	at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:858)
> 	at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:733)
> 	at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:158)
> 	at org.jboss.as.jpa.builder.JPA2CEMFBuilder.build(JPA2CEMFBuilder.java:56)
> 	at org.jboss.jpa.deployment.PersistenceUnitDeployment.start(PersistenceUnitDeployment.java:316)
> 	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.reflect.plugins.introspection.ReflectionUtils.invoke(ReflectionUtils.java:59)
> 	at org.jboss.reflect.plugins.introspection.ReflectMethodInfoImpl.invoke(ReflectMethodInfoImpl.java:150)
> 	at org.jboss.joinpoint.plugins.BasicMethodJoinPoint.dispatch(BasicMethodJoinPoint.java:66)
> 	at org.jboss.kernel.plugins.dependency.KernelControllerContextAction$JoinpointDispatchWrapper.execute(KernelControllerContextAction.java:243)
> 	at org.jboss.kernel.plugins.dependency.ExecutionWrapper.execute(ExecutionWrapper.java:47)
> 	at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchExecutionWrapper(KernelControllerContextAction.java:111)
> 	at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchJoinPoint(KernelControllerContextAction.java:72)
> 	at org.jboss.kernel.plugins.dependency.LifecycleAction.installActionInternal(LifecycleAction.java:221)
> 	at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:54)
> 	at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:42)
> 	at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
> 	at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
> 	at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
> 	at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
> 	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1633)
> 	at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:935)
> 	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1083)
> 	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:985)
> 	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:775)
> 	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:540)
> 	at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.deploy(BeanMetaDataDeployer.java:121)
> 	at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.deploy(BeanMetaDataDeployer.java:51)
> 	at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)
> 	at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
> 	at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:179)
> 	at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1448)
> 	at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1166)
> 	at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1187)
> 	at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1107)
> 	at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
> 	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1633)
> 	at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:935)
> 	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1083)
> 	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:985)
> 	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:823)
> 	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
> 	at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:783)
> 	at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:699)
> 	at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)
> 	at org.jboss.system.server.profileservice.repository.ProfileDeployAction.install(ProfileDeployAction.java:70)
> 	at org.jboss.system.server.profileservice.repository.AbstractProfileAction.install(AbstractProfileAction.java:53)
> 	at org.jboss.system.server.profileservice.repository.AbstractProfileService.install(AbstractProfileService.java:403)
> 	at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
> 	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1633)
> 	at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:935)
> 	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1083)
> 	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:985)
> 	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:775)
> 	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:540)
> 	at org.jboss.system.server.profileservice.repository.AbstractProfileService.registerProfile(AbstractProfileService.java:308)
> 	at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:258)
> 	at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:97)
> 	at org.jboss.bootstrap.impl.base.server.AbstractServer.startBootstraps(AbstractServer.java:860)
> 	at org.jboss.bootstrap.impl.base.server.AbstractServer$StartServerTask.run(AbstractServer.java:441)
> 	at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.reflect.InvocationTargetException
> 	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.infinispan.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:170)
> 	... 75 more
> Caused by: org.infinispan.CacheException: Failure while registering mbeans
> 	at org.infinispan.jmx.ComponentsJmxRegistration.registerMBeans(ComponentsJmxRegistration.java:100)
> 	at org.infinispan.jmx.CacheJmxRegistration.registerToMBeanServer(CacheJmxRegistration.java:70)
> 	... 80 more
> Caused by: javax.management.MalformedObjectNameException: Invalid character ':' in value part of property
> 	at javax.management.ObjectName.construct(ObjectName.java:602)
> 	at javax.management.ObjectName.<init>(ObjectName.java:1403)
> 	at org.infinispan.jmx.ComponentsJmxRegistration.registerMBeans(ComponentsJmxRegistration.java:85)
> 	... 81 more
> Workaround: override the factory-name by configuring hibernate.session_factory_name explicitely

-- 
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 infinispan-issues mailing list