1 2 Previous Next 21 Replies Latest reply on Jul 28, 2006 12:58 PM by sphinxmember Go to original post
      • 15. Re: PojoCache Weblogic 91 and JConsole issue!!
        sphinxmember

        Hi ,

        I was trying the example supplied by JBossCacheMBeansWithBeaWeblogic (http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossCacheMBeansWithBeaWeblogic)

        Few Questions
        1. On Server startup I get the following exception
        <Jul 25, 2006 12:17:07 PM PDT> <BEA-050002> <Cannot replicate object that is bound i
        n the JNDI under the name java:jbosscache.>

        2. How can the MBean registered with the Server be seen from the weblogic admin console ?

        3. When I try to see the MBeans of the server using JConsole I got a classcast exception on the server.

        Somthing is missing some where

        • 16. Re: PojoCache Weblogic 91 and JConsole issue!!

          re: 3)

          You might try debugging further by eliminating WebLogic and Spring from the mix. You can try a standalone JBossCache client and see if jconsole will display its mbeans successfully. How to do this is described in the TreeCache user documentation under the section titled Accessing Cache MBeans in a Standalone Environment.

          • 17. Re: PojoCache Weblogic 91 and JConsole issue!!
            sphinxmember

            Just tried that , here is my observations.

            1. There is no classcast exception in the jvm running stand alone cache client

            2. The Jconsole mbean view of the treecache , under the attibutes tab I see the following attributes as red.
            Name Value
            a. Instance Unavailable (in red font on hovering the mouse it shows the following exception ...
            //java.rmi.unmarshalexception error unmarshalling return , nested exception is java.io.WriteAbortedException, writing aborted; java.io.NotSerializableException; org.jboss.cache.TreeCache
            b. Interceptors
            c. members

            3. when I click on the operation tab the jconsole throws following exceptions
            Error setting Operation panel :org.jboss.cache.TreeCacheListener
            Error setting Operation panel :org.jboss.cache.TreeCacheListener
            Error setting Operation panel :org.jboss.cache.Fqn
            Error setting Operation panel :org.jboss.cache.Fqn
            Error setting Operation panel :org.jboss.cache.Fqn
            Error setting Operation panel :org.jboss.cache.Fqn
            Error setting Operation panel :org.jboss.cache.Fqn
            Error setting Operation panel :org.jboss.cache.GlobalTransaction
            Error setting Operation panel :org.jboss.cache.GlobalTransaction
            Error setting Operation panel :org.jboss.cache.GlobalTransaction
            Error setting Operation panel :org.jboss.cache.GlobalTransaction

            I am using following java version
            C:\Documents and Settings\shgoe>java -version
            java version "1.5.0_07"
            Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_07-b03)
            Java HotSpot(TM) Client VM (build 1.5.0_07-b03, mixed mode, sharing)

            Jboss cache stand alone client code (Sleep is introduced just for it to wait for the jconsole to connect)

            public class SampleTreeCache {

            public static void main (String[] a)

            {

            SampleTreeCache sampleTreeCache = new SampleTreeCache();
            TreeCache cache1 = null;
            try
            {
            cache1 = sampleTreeCache.createCache();
            cache1.put("/jboss-cache-manager", "Sample Cache Entry", "This is a sample");
            Thread.currentThread().sleep(600000);

            }catch(Exception e)
            {
            e.printStackTrace();
            }

            }


            private TreeCache createCache() throws Exception
            {
            TreeCache cache = new TreeCache();
            PropertyConfigurator config = new PropertyConfigurator();
            config.configure(cache, "invalidationSync-service.xml");
            System.out.println("Tree cache configured with META-INF/invalidationSync-service.xml ");
            cache.startService();
            return cache;
            }

            sample configuration file

            <?xml version="1.0" encoding="UTF-8"?>
            
            <!-- ===================================================================== -->
            <!-- -->
            <!-- Sample TreeCache Service Configuration -->
            <!-- -->
            <!-- ===================================================================== -->
            
            <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.DummyTransactionManagerLookup</attribute-->
            
             <!--
             Isolation level : SERIALIZABLE
             REPEATABLE_READ (default)
             READ_COMMITTED
             READ_UNCOMMITTED
             NONE
             -->
             <attribute name="IsolationLevel">REPEATABLE_READ</attribute>
            
             <!--
             Valid modes are LOCAL
             REPL_ASYNC
             REPL_SYNC
             INVALIDATION_ASYNC
             INVALIDATION_SYNC
             -->
             <attribute name="CacheMode">INVALIDATION_SYNC</attribute>
            
             <!--
             Just used for async repl: use a replication queue
             -->
             <attribute name="UseReplQueue">false</attribute>
            
             <!--
             Replication interval for replication queue (in ms)
             -->
             <attribute name="ReplQueueInterval">0</attribute>
            
             <!--
             Max number of elements which trigger replication
             -->
             <attribute name="ReplQueueMaxElements">0</attribute>
            
             <!-- Name of cluster. Needs to be the same for all clusters, in order
             to find each other
             -->
             <attribute name="ClusterName">TreeCache-Cluster</attribute>
            
             <!-- JGroups protocol stack properties. Can also be a URL,
             e.g. file:/home/bela/default.xml
             <attribute name="ClusterProperties"></attribute>
             -->
            
             <attribute name="ClusterConfig">
             <config>
             <!-- UDP: if you have a multihomed machine,
             set the bind_addr attribute to the appropriate NIC IP address, e.g bind_addr="192.168.0.2"
             -->
             <!-- 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.1.2.3" mcast_port="48866"
             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" />-->
             <FD_SOCK/>
             <VERIFY_SUSPECT timeout="1500"
             up_thread="false" down_thread="false"/>
             <pbcast.NAKACK gc_lag="50" retransmit_timeout="600,1200,2400,4800"
             max_xmit_size="8192" 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="true" down_thread="true"/>
             </config>
             </attribute>
            
            
             <!--
             Whether or not to fetch state on joining a cluster
             NOTE this used to be called FetchStateOnStartup and has been renamed to be more descriptive.
             -->
             <attribute name="FetchInMemoryState">true</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">15000</attribute>
            
             <!--
             Number of milliseconds to wait until all responses for a
             synchronous call have been received.
             -->
             <attribute name="SyncReplTimeout">15000</attribute>
            
             <!-- Max number of milliseconds to wait for a lock acquisition -->
             <attribute name="LockAcquisitionTimeout">10000</attribute>
            
             <!-- Name of the eviction policy class. -->
             <attribute name="EvictionPolicyClass"></attribute>
            
             <!--
             Indicate whether to use region based marshalling or not. Set this to true if you are running under a scoped
             class loader, e.g., inside an application server. Default is "false".
             -->
             <attribute name="UseRegionBasedMarshalling">false</attribute>
             </mbean>
            
            
             <!-- Uncomment to get a graphical view of the TreeCache MBean above -->
             <!-- <mbean code="org.jboss.cache.TreeCacheView" name="jboss.cache:service=TreeCacheView">-->
             <!-- <depends>jboss.cache:service=TreeCache</depends>-->
             <!-- <attribute name="CacheService">jboss.cache:service=TreeCache</attribute>-->
             <!-- </mbean>-->
            
            
            </server>
            


            • 18. Re: PojoCache Weblogic 91 and JConsole issue!!
              sphinxmember

              Another observation is that lot of operations are displayed as disabled in the jconsole view .

              • 19. Re: PojoCache Weblogic 91 and JConsole issue!!

                Attributes that are displayed in red with a NotSerializableException in jconsole are probably correctly handled. Since jconsole is remote, it only displays serializable attributes. In your example, the "Instance" attribute represents the cache itself and the cache instance isn't serializable.

                I'm not sure whether the operations are a problem or not. I'll try a standalone client and respond further.

                • 20. Re: PojoCache Weblogic 91 and JConsole issue!!

                  The operations error messages on the console seem to relate to the disabled operations. It looks at first glance that these operations are the ones with non-serializable parameters such as Fqn. The operations that take serializable parameters such as String are enabled and seem to work properly.

                  Bottom line seems to be that mbean attributes and operations are only functional in a remote jconsole if they use serializable parameters and return values.

                  • 21. Re: PojoCache Weblogic 91 and JConsole issue!!
                    sphinxmember

                    ya ..thats right jconsole disables those methods.

                    1 2 Previous Next