[jboss-user] [EJB3] - Re: JBoss 6.1.0.Final SFSB concurrency issue

2013-07-29 Thread Octavian Pop
Octavian Pop [https://community.jboss.org/people/PopOctavian] created the 
discussion

Re: JBoss 6.1.0.Final SFSB concurrency issue

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

--
No one experienced this?

Below I posted the ContainerManagedConcurrencyInterceptor implementation which 
is invoked when a method from statefull beans is invoked.

public Object invoke(Invocation invocation) throws Throwable
    {
    Lock lock = getLock(invocation);
    long time = DEFAULT_MAX_TIMEOUT_VALUE;
    TimeUnit unit = DEFAULT_MAX_TIMEOUT_UNIT;
    AccessTimeoutEffigy timeout = getAccessTimeout((MethodInvocation) 
invocation);
 
 
    if (timeout != null)
    {
    if (timeout.getTimeout()  0)
    {
    // for any negative value of timeout, we just default to max 
timeout val and max timeout unit.
    // violation of spec! But we don't want to wait indefinitely.
    logger.debug(Ignoring a negative @AccessTimeout value:  + 
timeout.getTimeout() +  and timeout unit: 
    + timeout.getUnit().name() + . Will default to timeout 
value:  + DEFAULT_MAX_TIMEOUT_VALUE
    +  and timeout unit:  + 
DEFAULT_MAX_TIMEOUT_UNIT.name());
    }
    else
    {
    time = timeout.getTimeout();
    unit = timeout.getUnit();
    }
    }
    boolean success = lock.tryLock(time, unit);
    if (!success)
    {
    throw new ConcurrentAccessTimeoutException(EJB 3.1 PFD2 4.8.5.5.1 
concurrent access timeout on  + invocation
    +  - could not obtain lock within  + time + unit.name());
    }
    try
    {
    return invocation.invokeNext();
    }
    finally
    {
    lock.unlock();
    }
    }


The invocations on incrementNumber from GenericSFB are serialized at boolean 
success = lock.tryLock(time, unit);
It does not make sens to have mutual exclusion for statefull beans invocatins, 
as it looks to be implemented.
--

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

Start a new discussion in EJB3 at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1containerType=14container=2029]

___
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

[jboss-user] [EJB3] - Re: JBoss 6.1.0.Final SFSB concurrency issue

2013-07-20 Thread Octavian Pop
Octavian Pop [https://community.jboss.org/people/PopOctavian] created the 
discussion

Re: JBoss 6.1.0.Final SFSB concurrency issue

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

--
It is the community JBoss AS 6.1.0.Final.
--

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

Start a new discussion in EJB3 at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1containerType=14container=2029]

___
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

[jboss-user] [EJB3] - JBoss 6.1.0.Final SFSB concurrency issue

2013-07-19 Thread Octavian Pop
Octavian Pop [https://community.jboss.org/people/PopOctavian] created the 
discussion

JBoss 6.1.0.Final SFSB concurrency issue

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

--
Hi,

I am trying to run a test to investigate a performace issue after upgrading 
from JBoss 4.0.5 to 6.1. For this I use a simple test application with a 
service which starts threads, each thread looks-up a SFSB instace and execute a 
method to increment a number. 
From this test I notticed that SFSB method calls in the multi-threaded test 
are serialized - one execution after the other. Investigating in more detail I 
found that this serialization is caused by CMC interceptor from 
server/current/deploy/ejb3-interceptors-aop.xml.
If I commented out CMC, performance increased significantly.

Is this a known behavior?
What are the implications if I comment CMC?

Thanks.

Below are code snippets from test:


@Service
public class TestingService
{
 
    public static int numberOfThreads=2;
 
    public static void start() throws Exception
    {
 
    startTest(numberOfThreads);
    }
 
    public static void startTest(int threadNumber) throws InterruptedException
    {
    Thread [] threads = new Thread[threadNumber];
 
    for (int i=0;i threadNumber;i++)
    {
    Thread t = new Thread()
    {
    public void run()
    {
    Client testClient = new Client();
    testClient.processNumber(Math.round(Math.random()*1000));
    testClient.destroy();
    }
    };
    t.start();
    threads[i] = t;
    }
 
    for(int i=0; ithreadNumber; i++)
    {
    threads[i].join();
    }
    }
}
 
public class Client
{
    IGenericSFB genericSFB;
 
    public Client()
    {
    genericSFB = (IGenericSFB) 
ServiceLocator.getLocalService(GenericSFB.class.getSimpleName());
    System.out.println(This address  + genericSFB +   + 
genericSFB.hashCode());
    }
 
 
    public void processNumber(Long number)
    {
    System.out.println(Client - Start incrementing  + number);
    genericSFB.incrementNumber(number);
    System.out.println(Client - Finish incrementing  + number);
 
    }
...
 
 
@Stateful
public class GenericSFB implements IGenericSFB, Serializable
{
    private int number;
    private String stuff;
    private String someOtherStuff;
 
    public Long incrementNumber(Long number)
    {
    System.out.println(SFB - start incrementing number  + number +  by  
+ this);
    try
    {
    Thread.currentThread().sleep(1);
    }
    catch (InterruptedException e){}
 
    System.out.println(SFB - finish incrementing number  + number);
 
    return 0L;
    }
...
 
 
--

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

Start a new discussion in EJB3 at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1containerType=14container=2029]

___
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

[jboss-user] [EJB3] - Re: JBoss tmp filder increased size

2010-11-27 Thread Octavian Pop
Octavian Pop [http://community.jboss.org/people/PopOctavian] created the 
discussion

Re: JBoss tmp filder increased size

To view the discussion, visit: http://community.jboss.org/message/573241#573241

--
I managed to control the size of .ser files by calling the @Remove method when 
handling exception thrown sfbs.
--

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

Start a new discussion in EJB3 at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1containerType=14container=2029]

___
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user