The JMX annotation seems a good approach at first, but when I replace the old mbean
| <mbean code="com.arjuna.ats.jbossatx.jta.TransactionManagerService"
| name="jboss:service=TransactionManager">
| <attribute name="TransactionTimeout">300</attribute>
| <attribute
name="ObjectStoreDir">${jboss.server.data.dir}/tx-object-store</attribute>
| </mbean>
|
with the new annotated bean
| <bean name="TransactionManager"
class="com.arjuna.ats.jbossatx.jta.TransactionManagerService">
|
<annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=TransactionManager",
exposedInterface=com.arjuna.ats.jbossatx.jta.TransactionManagerServiceMBean.class,
registerDirectly=true)</annotation>
|
| <property name="TransactionTimeout">300</property>
| <property
name="ObjectStoreDir">${jboss.server.data.dir}/tx-object-store</property>
| </bean>
|
then the dependent mbeans e.g.
| <mbean code="org.jboss.invocation.unified.server.UnifiedInvoker"
| name="jboss:service=invoker,type=unified">
| <depends>jboss:service=TransactionManager</depends>
|
<depends>jboss.remoting:service=Connector,transport=socket</depends>
| </mbean>
fail to find the service they depend on:
| ...
| 14:01:46,883 INFO [JMXKernel] Legacy JMX core initialized
| 14:01:59,184 INFO [WebService] Using RMI server codebase:
http://127.0.0.1:8083/
| 14:02:01,913 ERROR [ProfileServiceBootstrap] Failed to load profile: Summary of
incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS):
|
| *** CONTEXTS MISSING DEPENDENCIES: Name -> Dependency{Required State:Actual State}
|
| jboss:service=invoker,type=jrmp
| -> jboss:service=TransactionManager{Start:** NOT FOUND **}
| -> jboss:service=TransactionManager{Create:** NOT FOUND **}
| ...
| *** CONTEXTS IN ERROR: Name -> Error
|
| jboss:service=TransactionManager -> ** NOT FOUND **
|
Perhaps the annotation is being processed at a later stage of the lifecycle so it's
not yet present when the mbean dependencies go to look for it?
Anyhow, it seems there are issues with interop between the old mbean style and the new
bean style. My options at this point seem equally unpalatable: either link the
transactions code again some new AS library (lots of work with no apparent advantage over
the existing situation of linking against ServiceMBeanSupport) or convert everything that
depends on the transaction manager from mbeans to beans also, transitively. I vote for
option 3: do nothing. ServiceMBeanSupport works ok, why bother with this new MC stuff?
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4114219#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...