[JBossCache] - Does it matter with the warning "Name of XA node not defined
by scotthkao
Hello,
I'm a beginner to JBossCache and JBossTS.
I'm running 9 standalone JBossCache applications on 9 different machines, with each application on a machine. I use JBossTS as a means to maintain the data integrity. The way I got it to work together is only by:
1. defining the attribute "TransactionManagerLookupClass" in the jboss xml so as to hook up the TM.
2. invoking cache.getConfiguration().getRuntimeConfig().getTransactionManager().begin()
3. invoking cache.getConfiguration().getRuntimeConfig().getTransactionManager().commit() or rollback().
Just the three above. Nothing more I've done to get it work.
It seems to work correctly. But each time the standalone JBossCache application is launched, an annoying WARN message pops up in the log file as follows:
------------------------------------------------------
...[com.arjuna.ats.arjuna.coordinator.TxControl_1] - Name of XA node not defined. Using -53eefec4:11ee:477aefc2:1
------------------------------------------------------
I don't know why or when I should set up the XA node. Could any of you tell me what's it gotta do with my JBossCache with transaction? Could there be any potential problems without manually setting the name of the XA node?
Thanks in advance,
Scott
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4116625#4116625
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4116625
18 years, 3 months
[JBossCache] - JBossCache + Hibernate + Spring
by narendrakg
Hi,
I am building demo application to validate JBoss Cache with Hibernate and WebLogic cluster.
I have choosen JBoss Cache to hold table data in form of OBJECT CACHE and QUERY CACHE. I am new to JBoss Cache and facing few problems in configuring same.
I have already done the setup and everything seems working fine except some unexpected error as mentioned below.
org.jboss.cache.ReplicationException: rsp=sender=192.168.102.71:1793, retval=null, received=false, suspected=false
at org.jboss.cache.TreeCache.callRemoteMethods(TreeCache.java:3268)
at org.jboss.cache.TreeCache.callRemoteMethods(TreeCache.java:3215)
at org.jboss.cache.TreeCache.callRemoteMethods(TreeCache.java:3291)
....
I made few changes in xml as per below (Made it REPL_ASYNC, mcast_addr is not same in other deployements with JBoss cache on same network), and have taken following approach to test JBoss Cache.
a) Object Cache:-
Using Statistics: Cache entries return the number of entries loaded into cache.
SecondLevelCacheStatistics slcs = session.getSessionFactory().getStatistics().getSecondLevelCacheStatistics( SystemParameter.class.getName() );
Map cacheEntries = slcs.getEntries();
cacheEntries.length()
Manual Assumption: Database changes are not reflecting into the system till the timeout configured in xml file.
b) Query Cache: Hibernate is not reflecting the query into command prompt when show_sql is true.
Could you please let me know if there could be any expected problem?
Code - jboss-cache.xml
| <?xml version="1.0" encoding="UTF-8" ?>
| <server>
| <classpath codebase="./lib" archives="jboss-cache.jar, jgroups.jar" />
|
| <!-- ==================================================================== -->
| <!-- Defines TreeCache configuration -->
| <!-- ==================================================================== -->
| <mbean code="org.jboss.cache.TreeCache" name="jboss.cache:service=TreeCache">
| <depends>jboss:service=Naming</depends>
| <depends>jboss:service=TransactionManager</depends>
|
|
| <!-- Configure the TransactionManager -->
| <attribute name="TransactionManagerLookupClass">org.jboss.cache.GenericTransactionManagerLookup</attribute>
|
| <!--
| Node locking scheme :
| PESSIMISTIC (default)
| OPTIMISTIC
| -->
| <attribute name="NodeLockingScheme">PESSIMISTIC</attribute>
|
| <!--
| Node locking isolation level :
| SERIALIZABLE
| REPEATABLE_READ (default)
| READ_COMMITTED
| READ_UNCOMMITTED
| NONE
|
| (ignored if NodeLockingScheme is OPTIMISTIC)
| -->
| <attribute name="IsolationLevel">REPEATABLE_READ</attribute>
|
| <!-- Valid modes are LOCAL
| REPL_ASYNC
| REPL_SYNC
| INVALIDATION_ASYNC
| INVALIDATION_SYNC
| -->
| <attribute name="CacheMode">REPL_ASYNC</attribute>
|
| <!-- Whether each interceptor should have an mbean
| registered to capture and display its statistics. -->
| <attribute name="UseInterceptorMbeans">true</attribute>
|
| <!-- Name of cluster. Needs to be the same for all clusters, in order
| to find each other -->
| <attribute name="ClusterName">hacluster</attribute>
|
| <attribute name="ClusterConfig">
| <config>
| <!-- UDP: if you have a multihomed machine,
| set the bind_addr attribute to the appropriate NIC IP address
| -->
| <!-- UDP: On Windows machines, because of the media sense feature
| being broken with multicast (even after disabling media sense)
| set the loopback attribute to true
| -->
| <UDP mcast_addr="228.2.2.2" mcast_port="45566" ip_ttl="64" ip_mcast="true"
| mcast_send_buf_size="150000" mcast_recv_buf_size="80000" ucast_send_buf_size="150000"
| ucast_recv_buf_size="80000" loopback="false" />
| <PING timeout="2000" num_initial_members="3" up_thread="false" down_thread="false" />
| <MERGE2 min_interval="10000" max_interval="20000" />
| <FD shun="true" up_thread="true" down_thread="true" />
| <VERIFY_SUSPECT timeout="1500" up_thread="false" down_thread="false" />
| <pbcast.NAKACK gc_lag="50" max_xmit_size="8192" retransmit_timeout="600,1200,2400,4800" up_thread="false"
| down_thread="false" />
| <UNICAST timeout="600,1200,2400" window_size="100" min_threshold="10" down_thread="false" />
| <pbcast.STABLE desired_avg_gossip="20000" up_thread="false" down_thread="false" />
| <FRAG frag_size="8192" down_thread="false" up_thread="false" />
| <pbcast.GMS join_timeout="5000" join_retry_timeout="2000" shun="true" print_local_addr="true" />
| <pbcast.STATE_TRANSFER up_thread="false" down_thread="false" />
| </config>
| </attribute>
|
| <!-- The max amount of time (in milliseconds) we wait until the
| initial state (ie. the contents of the cache) are retrieved from
| existing members in a clustered environment
| -->
| <attribute name="InitialStateRetrievalTimeout">5000</attribute>
|
| <!-- Number of milliseconds to wait until all responses for a
| synchronous call have been received.
| -->
| <attribute name="SyncReplTimeout">10000</attribute>
|
| <!-- Max number of milliseconds to wait for a lock acquisition -->
| <attribute name="LockAcquisitionTimeout">15000</attribute>
|
| <!-- Name of the eviction policy class. -->
| <attribute name="EvictionPolicyClass">org.jboss.cache.eviction.LRUPolicy</attribute>
|
| <!-- Specific eviction policy configurations. This is LRU -->
| <attribute name="EvictionPolicyConfig">
| <config>
| <attribute name="wakeUpIntervalSeconds">43200</attribute>
| <!-- Cache wide default -->
| <region name="/_default_">
| <attribute name="maxNodes">50000</attribute>
| <attribute name="timeToLiveSeconds">43200</attribute>
| <attribute name="maxAgeSeconds">43200</attribute>
| </region>
| </config>
| </attribute>
| </mbean>
| </server>
|
|
Hibernate Configuration
<prop key="hibernate.cache.use_second_level_cache">true</prop>
| <prop key="hibernate.cache.use_query_cache">true</prop>
| <prop key="hibernate.cache.provider_class">org.hibernate.cache.TreeCacheProvider</prop>
|
Datamodel hbm file
<cache usage="read-only"/>
Code for Query Cache
query = session.createQuery("FROM SystemParameter AS SP WHERE SP.PARAMETER_NAME=:PARAMETER_NAME");
| query.setString("PARAMETER_NAME", parameterName);
| query.setCacheable(true);
| lstResults = query.list();
Code for Object Cache
SystemParameter systemParameter = (SystemParameter)session.get(SystemParameter.class, parameterName);
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4116619#4116619
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4116619
18 years, 3 months