sri2 [https://community.jboss.org/people/sri2] created the discussion

"Interceptor issue"

To view the discussion, visit: https://community.jboss.org/message/820493#820493

--------------------------------------------------------------
Hi,

I created an interceptor extending from *BasicCustomInterceptor* implementing 
with *MBean* with simple methods.
Initialized/Uninitiazed in *start* and *stop* overrided methods. It accesses 
these methods when creating and destroying bean.
Somehow it has *not* accessed to *visitDistributedExecuteCommand* override 
method where my logic reside to compute something in distributed mode with 
numOwners=2. If I override other methods like *visitPutKeyValueCommand* then it 
accesses.
To find the issue, I added some couple of methods by putting print out 
statement along *return invokeNextInterceptor(ctx, command)* Just for testing 
purpose. These methods are : 

1)//Not Accessed
@Override
    public Object visitSizeCommand(InvocationContext ctx, SizeCommand command)  
throws Throwable {

        System.out.println("Inside visitSizeCommand");
        return invokeNextInterceptor(ctx, command);        
    }
2) //Not Accessed
@Override
public void visitCollection(InvocationContext ctx,  Collection<? extends 
VisitableCommand> toVisit) throws Throwable {
        System.out.println("Inside visitCollection");
//        debug("Collection Size: " + toVisit.size() );
 }

3) //Not Accessed
@Override
public  <V> Object visitDistributedExecuteCommand(InvocationContext ctx, 
DistributedExecuteCommand<V> command) throws Throwable {
        System.out.println("++++++++++++Inside 
visitDistributedExecuteCommand()");
        Object o = invokeNextInterceptor(ctx, command);
        // Some logic here
        return o;
    }

4) // Accessed
@Override
       public Object visitPutKeyValueCommand(InvocationContext ctx, 
PutKeyValueCommand cmd) throws Throwable {
          System.out.println("Ignoring this call to enforce read-only 
behavior");
          return invokeNextInterceptor(ctx, cmd);

       }

5) // Accessed
 @Override
       visitRemoveCommand(InvocationContext ctx, RemoveCommand cmd) throws 
Throwable {
          System.out.println("Visited::::visitRemoveCommand");
         return invokeNextInterceptor(ctx, cmd);
       }

I'm using 5.3.0.Beta1 version with JDK 1.7.0_04. Interceptor added in config 
file. Testing with PiApproximationDemo and also with SimpleCache ( book, pay 
and list ) Infinispan book example.

Please advice how do I make it access to *visitDistributedExecuteCommand* 
override method. 
And also advice how do I access to individual statistics from each node in 
distributed environment and show it on RHQ monitor/JConsole/JVisualVM by using 
MBeans or MXBeans.*
* 
Do I have to write a plug in for RHQ? Or Do I have to write purely JMX code? I 
have to see each node info in addition to  these statistics from URL  
http://docs.jboss.org/infinispan/5.1/apidocs/jmxComponents.html#Statistics 
http://docs.jboss.org/infinispan/5.1/apidocs/jmxComponents.html#Statistics.
Any input and code examples are appreciated. Thanks in Advance. 
Sri

Partial Config file:

    <global>
           <transport>         
            <properties>             
            <property name="configurationFile" value="jgroups.xml"/>
            </properties>       
        </transport>
    </global>  
   <default>      
       <clustering mode="distribution">       
       <sync/>       
       <hash numOwners="2"/>    
      </clustering> 

      <customInterceptors>
         <interceptor class="com.xxx.xxx.TestInterceptor" position="FIRST" />
      </customInterceptors>      
   </default>

*Output from SimpleCache Example:*

May 30, 2013 3:31:11 PM 
org.infinispan.remoting.transport.jgroups.JGroupsTransport start
INFO: ISPN000078: Starting JGroups Channel
May 30, 2013 3:31:11 PM org.jgroups.logging.JDKLogImpl warn
WARNING: [JGRP00014] TP.discard_incompatible_packets has been deprecated: 
incompatible packets are discarded anyway
May 30, 2013 3:31:11 PM org.jgroups.logging.JDKLogImpl warn
WARNING: [JGRP00014] TP.enable_bundling has been deprecated: will be ignored as 
bundling is on by default
May 30, 2013 3:31:11 PM org.jgroups.logging.JDKLogImpl warn
WARNING: [JGRP00014] UNICAST.setTimeout has been deprecated: not used anymore
May 30, 2013 3:31:14 PM 
org.infinispan.remoting.transport.jgroups.JGroupsTransport viewAccepted
INFO: ISPN000094: Received new cluster view: [xxxx]
May 30, 2013 3:31:14 PM 
org.infinispan.remoting.transport.jgroups.JGroupsTransport 
startJGroupsChannelIfNeeded
INFO: ISPN000079: Cache local address is xxxx, physical addresses are [xxx]
May 30, 2013 3:31:14 PM org.infinispan.factories.GlobalComponentRegistry start
INFO: ISPN000128: Infinispan version: Infinispan 'Tactical Nuclear Penguin' 
5.3.0.Beta1
*************registering MBean: com.xxx.xxx:type=TestInterceptor
********* Printing Interceptors from interceptorChain
********* Interceptor name: com.xxx.xxx.TestInterceptor
********* Interceptor name: 
org.infinispan.interceptors.InvocationContextInterceptor
********* Interceptor name: 
org.infinispan.statetransfer.StateTransferInterceptor
********* Interceptor name: 
org.infinispan.statetransfer.TransactionSynchronizerInterceptor
********* Interceptor name: org.infinispan.interceptors.NotificationInterceptor
********* Interceptor name: 
org.infinispan.interceptors.locking.NonTransactionalLockingInterceptor
********* Interceptor name: org.infinispan.interceptors.EntryWrappingInterceptor
********* Interceptor name: 
org.infinispan.interceptors.distribution.NonTxConcurrentDistributionInterceptor
********* Interceptor name: org.infinispan.interceptors.CallInterceptor
May 30, 2013 3:31:14 PM org.infinispan.jmx.CacheJmxRegistration start
INFO: ISPN000031: MBeans were successfully registered to the platform MBean 
server.
Ticket booking system
=====================
Commands: book, pay, list
> book
Enter name aaa
Enter show 111
Visited::::visitPutKeyValueCommand 
Booked ticket Ticket{name='aaa', show='111'}
> book
Enter name bbb
Enter show 222
Visited::::visitPutKeyValueCommand 
Booked ticket Ticket{name='bbb', show='222'}
> list
Ticket{name='aaa', show='111'}
Ticket{name='bbb', show='222'}
> pay
Enter ticketid 1
Visited::::visitRemoveCommand 
Checked out ticket Ticket{name='aaa', show='111'}
>
--------------------------------------------------------------

Reply to this message by going to Community
[https://community.jboss.org/message/820493#820493]

Start a new discussion in Beginner's Corner at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2075]

_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to