<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">
<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>
                                <td>
                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="http://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">Community</a></h1>
                                                                </td>
                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px; -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
Remote node did not update when modifying a node
</h3>
<span style="margin-bottom: 10px;">
created by <a href="http://community.jboss.org/people/oliver.yang">Oliver Yang</a> in <i>JBoss Cache POJO Edition</i> - <a href="http://community.jboss.org/message/544762#544762">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">
<div class="jive-rendered-content"><p>Hi, every one</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>I have two jboss instances with a pojocache each are running in different server and share one database, I cluster the cache in a group. The cache mode is REPL_SYNC and my cache loader is JDBC cache loader.When I attach a node and detach a cache, they both work fine, when I use following codes to modify a cache, only local cache is modified and remote cache still remain same.</p><p>     MyObject obj = (MyObject)pojoCache.find("theKey");</p><p>     obj.setValue("newValue");</p><p>     //that all</p><p>If I should use attach() to attach the modified object again, the remote cache will be changed. Can any one knows the issue?</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>I have a cache listener added to the cache to debug all events, but FieldModifiedEvent event never happened. my cached configuration is:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><?xml version="1.0" encoding="UTF-8" ?></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><server><br/>   <mbean code="org.jboss.cache.pojo.jmx.PojoCacheJmxWrapper" <br/>          name="jboss.cache:service=PojoCache"></p><p>      <!-- Configure the TransactionManager <br/>      <attribute name="TransactionManagerLookupClass"><br/>         org.jboss.cache.transaction.DummyTransactionManagerLookup<br/>      </attribute> --></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>      <attribute name="TransactionManagerLookupClass"><br/>         org.jboss.cache.transaction.JBossTransactionManagerLookup<br/>      </attribute><br/>      <br/>      <!-- Isolation level : SERIALIZABLE<br/>                             REPEATABLE_READ (default)<br/>                             READ_COMMITTED<br/>                             READ_UNCOMMITTED<br/>                             NONE<br/>      --><br/>      <attribute name="IsolationLevel">REPEATABLE_READ</attribute></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>      <!-- Valid modes are LOCAL, REPL_ASYNC and REPL_SYNC --><br/>      <attribute name="CacheMode">REPL_SYNC</attribute><br/>      <br/>        <!--  Specific eviction policy configurations. This is LRU --> <br/>        <attribute name="EvictionPolicyConfig"><br/>          <attribute name="EvictionPolicyClass">org.jboss.cache.aop.eviction.AopLRUPolicy</attribute><br/>          <config> <br/>                    <attribute name="wakeUpIntervalSeconds">10</attribute> <br/>                    <!--  Cache wide default --> <br/>                    <region name="/_default_"><br/>                      <!-- <attribute name="policyClass">org.jboss.cache.aop.eviction.AopLRUPolicy</attribute> --> <br/>                      <attribute name="maxNodes">5000</attribute> <br/>                      <attribute name="timeToLiveSeconds">3600</attribute> <br/>                    </region><br/>                    <br/>                    <region name="/user"><br/>                      <attribute name="maxNodes">5000</attribute><br/>                      <attribute name="timeToLiveSeconds">3600</attribute> <br/>                      <attribute name="maxAgeSeconds">86400</attribute><br/>                    </region><br/>                    <br/>                    <region name="/user_attribute"><br/>            <attribute name="maxNodes">5000</attribute><br/>            <attribute name="timeToLiveSeconds">3600</attribute> <br/>            <attribute name="maxAgeSeconds">86400</attribute><br/>          </region><br/>        </config><br/>        </attribute><br/>      <br/>      <attribute name="CacheLoaderConfiguration"><br/>         <config><br/>            <!-- if passivation is true, only the first cache loader is used; <br/>    the rest are ignored --><br/>            <passivation>false</passivation><br/>            <!-- comma delimited FQNs to preload --><br/>            <!-- are the cache loaders shared in a cluster? --><br/>            <shared>true</shared><br/>    <br/>            <!-- we can now have multiple cache loaders, which get chained --><br/>            <!-- the 'cacheloader' element may be repeated --><br/>            <cacheloader><br/>            <class>org.jboss.cache.loader.JDBCCacheLoader</class><br/>            <!-- same as the old CacheLoaderConfig attribute --><br/>            <properties><br/>                cache.jdbc.driver=org.postgresql.Driver<br/>                cache.jdbc.url=jdbc:postgresql://dev/devdb<br/>                cache.jdbc.user=devrole1<br/>                cache.jdbc.password=password<br/>                cache.jdbc.node.type=VARBINARY<br/>            </properties><br/>            <!-- whether the cache loader writes are asynchronous --><br/>            <async>true</async><br/>            <!-- only one cache loader in the chain may set fetchPersistentState <br/>  to true.<br/>                  An exception is thrown if more than one cache loader sets this <br/>to true. --><br/>            <fetchPersistentState>true</fetchPersistentState><br/>            <!-- determines whether this cache loader ignores writes - defaults <br/>to false. --><br/>            <ignoreModifications>false</ignoreModifications><br/>            <!-- if set to true, purges the contents of this cache loader when <br/>the cache starts up.<br/>            Defaults to false.  --><br/>            <purgeOnStartup>true</purgeOnStartup><br/>            </cacheloader><br/>        </config><br/>      </attribute><br/>            <br/>      <!-- Name of cluster. Needs to be the same for all caches, <br/>           in order for them to find each other<br/>      --><br/>      <attribute name="ClusterName">PojoCacheCluster</attribute></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>      <!-- JGroups protocol stack properties. --><br/>      <attribute name="ClusterConfig">         <br/>        <config><br/>            <UDP<br/>                        mcast_addr="${jgroups.udp.mcast_addr:228.1.2.3}"<br/>                        mcast_port="${jgroups.udp.mcast_port:48866}"<br/>                        tos="8"<br/>                        ucast_recv_buf_size="20000000"<br/>                        ucast_send_buf_size="640000"<br/>                        mcast_recv_buf_size="25000000"<br/>                        mcast_send_buf_size="640000"<br/>                        loopback="false"<br/>                        discard_incompatible_packets="true"<br/>                        max_bundle_size="64000"<br/>                        max_bundle_timeout="30"<br/>                        use_incoming_packet_handler="true"<br/>                        ip_ttl="${jgroups.udp.ip_ttl:2}"<br/>                        enable_bundling="true"<br/>                        enable_diagnostics="true"<br/>                        thread_naming_pattern="cl"<br/>                        <br/>                        use_concurrent_stack="true"<br/>                        <br/>                        thread_pool.enabled="true"<br/>                        thread_pool.min_threads="2"<br/>                        thread_pool.max_threads="8"<br/>                        thread_pool.keep_alive_time="5000"<br/>                        thread_pool.queue_enabled="true"<br/>                        thread_pool.queue_max_size="1000"<br/>                        thread_pool.rejection_policy="discard"<br/>                        <br/>                        oob_thread_pool.enabled="true"<br/>                        oob_thread_pool.min_threads="1"<br/>                        oob_thread_pool.max_threads="8"<br/>                        oob_thread_pool.keep_alive_time="5000"<br/>                        oob_thread_pool.queue_enabled="false"<br/>                        oob_thread_pool.queue_max_size="100"<br/>                        oob_thread_pool.rejection_policy="Run"/></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>                <PING timeout="2000"<br/>                        num_initial_members="3"/><br/>                <MERGE2 max_interval="30000"<br/>                        min_interval="10000"/><br/>                <FD_SOCK/><br/>                <FD timeout="10000" max_tries="5"   shun="true"/><br/>                <VERIFY_SUSPECT timeout="1500"  /><br/>                <BARRIER /><br/>                <pbcast.NAKACK use_stats_for_retransmission="false"<br/>                               exponential_backoff="150"<br/>                               use_mcast_xmit="true" gc_lag="0"<br/>                               retransmit_timeout="50,300,600,1200"<br/>                               discard_delivered_msgs="true"/><br/>                <UNICAST timeout="300,600,1200"/><br/>                <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"<br/>                               max_bytes="1000000"/><br/>                <VIEW_SYNC avg_send_interval="60000"   /><br/>                <pbcast.GMS print_local_addr="true" join_timeout="3000"<br/>                            shun="false"<br/>                            view_bundling="true"/><br/>                <FC max_credits="500000"<br/>                                min_threshold="0.20"/><br/>                <FRAG2 frag_size="60000"  /><br/>                <!--pbcast.STREAMING_STATE_TRANSFER /--><br/>                <pbcast.STATE_TRANSFER  /><br/>                <!-- pbcast.FLUSH  /--><br/>        </config><br/>      </attribute></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>      <!-- Whether or not to fetch state on joining a cluster --><br/>      <attribute name="FetchInMemoryState">true</attribute></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>      <!-- The max amount of time (in milliseconds) we wait until the<br/>           initial state (ie. the contents of the cache) are retrieved from<br/>           existing members in a clustered environment<br/>      --><br/>      <attribute name="InitialStateRetrievalTimeout">15000</attribute></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>      <!-- Number of milliseconds to wait until all responses for a<br/>           synchronous call have been received.<br/>      --><br/>      <attribute name="SyncReplTimeout">15000</attribute></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>      <!--  Max number of milliseconds to wait for a lock acquisition --><br/>      <attribute name="LockAcquisitionTimeout">10000</attribute><br/>   </mbean><br/></server></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>Thanks in advance.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>Oliver</p></div>
<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
<p style="margin: 0;">Reply to this message by <a href="http://community.jboss.org/message/544762#544762">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in JBoss Cache POJO Edition at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2054">Community</a></p>
</div></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>