This is in continuation to
http://www.jboss.com/index.html?module=bb&op=viewtopic&t=148625

Since this question is related to MC I thought I should post here.

I can start the JBoss cache programmatically by using

Configuration config = new Configuration();
  |            config.setTransactionManagerLookupClass( 
JBossTransactionManagerLookup.class.getName() );
  |            config.setIsolationLevel(IsolationLevel.REPEATABLE_READ);
  |            
config.setNodeLockingScheme(Configuration.NodeLockingScheme.MVCC);
  |            config.setCacheMode(Configuration.CacheMode.LOCAL);          
  |            CacheFactory factory = new DefaultCacheFactory();
  |            Cache cache = factory.createCache(config);          
  |            return cache;
  | 

However this way if user needs to make any changes he/she needs to re-compile 
the code.

I tried deploying the Cache as MBean using JMX annotation

        <bean name="MobicentsCacheConfig"
  |             class="org.jboss.cache.config.Configuration">
  | 
  |             <!-- Externally injected services -->
  |             <property name="runtimeConfig">
  |                     <bean name="ExampleCacheRuntimeConfig"
  |                             class="org.jboss.cache.config.RuntimeConfig">
  |                             <property name="transactionManager">
  |                                     <inject bean="TransactionManager"
  |                                             property="transactionManager" />
  |                             </property>
  |                             <property name="muxChannelFactory">
  |                                     <inject bean="JChannelFactory" />
  |                             </property>
  |                     </bean>
  |             </property>
  | 
  |             <!--
  |                     Node locking level : SERIALIZABLE
  |                     REPEATABLE_READ (default)
  |                     READ_COMMITTED
  |                     READ_UNCOMMITTED
  |                     NONE
  |             -->
  |             <property name="isolationLevel">REPEATABLE_READ</property>
  | 
  |             <!--     Valid modes are LOCAL
  |                     REPL_ASYNC
  |                     REPL_SYNC
  |             -->
  |             <property name="cacheMode">LOCAL</property>
  | 
  |             <!--  Max number of milliseconds to wait for a lock acquisition 
-->
  |             <property name="lockAcquisitionTimeout">15000</property>
  | 
  |             <property name="exposeManagementStatistics">true</property>
  | 
  |             <!--  Specific eviction policy configurations. This is LRU -->
  |             <property name="evictionConfig">
  |                     <bean name="ExampleEvictionConfig"
  |                             class="org.jboss.cache.config.EvictionConfig">
  |                             <property name="defaultEvictionPolicyClass">
  |                                     org.jboss.cache.eviction.LRUPolicy
  |                             </property>
  |                             <property 
name="wakeupIntervalSeconds">5</property>
  |                             <property name="evictionRegionConfigs">
  |                                     <list>
  |                                             <bean 
name="ExampleDefaultEvictionRegionConfig"
  |                                                     
class="org.jboss.cache.config.EvictionRegionConfig">
  |                                                     <property 
name="regionName">
  |                                                             /_default_
  |                                                     </property>
  |                                                     <property 
name="evictionPolicyConfig">
  |                                                             <bean 
name="ExampleDefaultLRUConfig"
  |                                                                     
class="org.jboss.cache.eviction.LRUConfiguration">
  |                                                                     
<property name="maxNodes">
  |                                                                             
5000
  |                                                                     
</property>
  |                                                                     
<property
  |                                                                             
name="timeToLiveSeconds">
  |                                                                             
1000
  |                                                                     
</property>
  |                                                             </bean>
  |                                                     </property>
  |                                             </bean>
  |                                     </list>
  |                             </property>
  |                     </bean>
  |             </property>
  | 
  |     </bean>
  | 
  | 
  |     <bean name="Mobicents.JAINSLEE.RuntimeTreeCache"
  |             class="org.jboss.cache.Cache">
  |             <constructor factoryMethod="createCache">
  |                     <factory bean="DefaultCacheFactory" />
  |                     <parameter class="org.jboss.cache.config.Configuration">
  |                             <inject bean="MobicentsCacheConfig" />
  |                     </parameter>
  |                     <parameter class="boolean">false</parameter>
  |             </constructor>
  |     </bean>
  | 
  |     <bean name="Mobicents.JAINSLEE.RuntimeTreeCacheMBean"
  |             class="org.jboss.cache.jmx.CacheJmxWrapper">
  | 
  |             <annotation>
  |                     
@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.cache:service=RuntimeTreeCache",exposedInterface=org.jboss.cache.jmx.CacheJmxWrapperMBean.class,
  |                     registerDirectly=true)
  |             </annotation>
  |             <constructor>
  |                     <parameter class="org.jboss.cache.Cache">
  |                             <inject 
bean="Mobicents.JAINSLEE.RuntimeTreeCache" />
  |                     </parameter>
  |             </constructor>
  |     </bean>

However I get 


2009-01-15 09:32:05,653 ERROR 
[org.jboss.kernel.plugins.dependency.AbstractKernelController] (main) Error 
installing to PreInstall: name=Mobicents.JAINSLEE.TransactionManagerMBean 
state=Real
java.lang.RuntimeException: Error creating annotation for 
                        
@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="slee:name=TransactionManagerMBean",exposedInterface=org.mobicents.slee.runtime.transaction.TransactionManagerImpl.class,
                        registerDirectly=true)
                
        at 
org.jboss.beans.metadata.plugins.AbstractAnnotationMetaData.getAnnotationInstance(AbstractAnnotationMetaData.java:128)
        at 
org.jboss.kernel.plugins.dependency.KernelScopeInfo.updateAnnotations(KernelScopeInfo.java:319)
        at 
org.jboss.kernel.plugins.dependency.KernelScopeInfo.updateClassAnnotations(KernelScopeInfo.java:151)
.............
..............
...............
Caused by: java.lang.RuntimeException: Error getting root expression 
                        
@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="slee:name=TransactionManagerMBean",exposedInterface=org.mobicents.slee.runtime.transaction.TransactionManagerImpl.class,
                        registerDirectly=true)
                
        at 
org.jboss.annotation.factory.AnnotationCreator.getRootExpr(AnnotationCreator.java:361)

Is there some mistake in how the annotation is used?

Thanks

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4202013#4202013

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4202013
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to