[JBoss Cache] - VMware and JBossCache
by Andro Oba
Andro Oba [http://community.jboss.org/people/bicolor] created the discussion
"VMware and JBossCache"
To view the discussion, visit: http://community.jboss.org/message/552030#552030
--------------------------------------------------------------
Hi Experts,
I'm using JBoss 4.2.2 with JBossCache: 1.4.1.SP5, JGroups 2.4.1 SP-4 and VMware 4.0.
When I use 2 Windows VMs within the same VMware server, the TreeCache is working properly.
However, when I use 2 Windows VMs in 2 separate VMware servers, the TreeCache is not working as expected.
The 2 JBoss servers can see each other, but when I use put(String fqn, Object key, Object value) it does throw a timeout exception org.jboss.cache.lock.TimeoutException. I use REPL_SYNC. Is it related to a UDP delay?
2010-07-07 13:19:48,234 WARN [com.arjuna.ats.arjuna.logging.arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator_2] TwoPhaseCoordinator.beforeCompletion - failed for com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple@1c2a0d9
java.lang.RuntimeException:
at org.jboss.cache.interceptors.TxInterceptor$LocalSynchronizationHandler.beforeCompletion(TxInterceptor.java:1182)
at org.jboss.cache.interceptors.OrderedSynchronizationHandler.beforeCompletion(OrderedSynchronizationHandler.java:75)
at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:114)
at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:247)
at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:86)
at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:177)
at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1389)
at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:135)
at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:87)
at org.jboss.aspects.tx.TxPolicy.endTransaction(TxPolicy.java:175)
at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:87)
at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:95)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.remoting.ReplicantsManagerInterceptor.invoke(ReplicantsManagerInterceptor.java:51)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.security.RoleBasedAuthorizationInterceptor.invoke(RoleBasedAuthorizationInterceptor.java:166)
at org.jboss.ejb3.security.RoleBasedAuthorizationInterceptor.invoke(RoleBasedAuthorizationInterceptor.java:115)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:304)
at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106)
at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:866)
at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:608)
at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:406)
at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:173)
Caused by: org.jboss.cache.ReplicationException: rsp=sender=10.10.12.117:1774, retval=null, received=false, suspected=false
at org.jboss.cache.TreeCache.callRemoteMethods(TreeCache.java:4436)
at org.jboss.cache.TreeCache.callRemoteMethods(TreeCache.java:4358)
at org.jboss.cache.TreeCache.callRemoteMethods(TreeCache.java:4469)
at org.jboss.cache.interceptors.BaseRpcInterceptor.replicateCall(BaseRpcInterceptor.java:110)
at org.jboss.cache.interceptors.BaseRpcInterceptor.replicateCall(BaseRpcInterceptor.java:88)
at org.jboss.cache.interceptors.ReplicationInterceptor.runPreparePhase(ReplicationInterceptor.java:152)
at org.jboss.cache.interceptors.ReplicationInterceptor.invoke(ReplicationInterceptor.java:69)
at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
at org.jboss.cache.interceptors.TxInterceptor.runPreparePhase(TxInterceptor.java:873)
at org.jboss.cache.interceptors.TxInterceptor$LocalSynchronizationHandler.beforeCompletion(TxInterceptor.java:1156)
... 39 more
Caused by: org.jboss.cache.lock.TimeoutException: Response timed out: sender=10.12.13.113:1774, retval=null, received=false, suspected=false
at org.jboss.cache.TreeCache.callRemoteMethods(TreeCache.java:4434)
... 48 more
Thanks
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/552030#552030]
Start a new discussion in JBoss Cache at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
13 years, 12 months
Re: [jboss-user] [jBPM] - failed to lazily initialize a collection of role: org.jbpm.pvm.internal.model.ExecutionImpl.variables, no session or session was closed
by Felix Jose
Felix Jose [http://community.jboss.org/people/FelixKJose] replied to the discussion
"failed to lazily initialize a collection of role: org.jbpm.pvm.internal.model.ExecutionImpl.variables, no session or session was closed"
To view the discussion, visit: http://community.jboss.org/message/552029#552029
--------------------------------------------------------------
HI Michael,
Thank You for your reply. Even I am having the same configuration in my jbpm.cfg.xml file. Then I have tried with reinstantiate the ExecutionService factory as
executionService = processEngine.getExecutionService();
Then after that it starts working. Before I give the transaction management I was getting the lazyinitialization exception while trying to access the properties of the jbpm process variable objects. But after I configure the transaction management as follows:
<bean id=+"jbpmContextServiceTarget"+ class=+"com.collabera.poc.jbpm.impl.JBPMContextServiceImpl"+
init-method=+"init"+>
<property name=+"processEngine"+>
<ref bean=+"processEngine"+ />
</property>
<property name=+"checking"+>
<ref bean=+"checking"+ />
</property>
<bean id=+"jbpmContextService"+ class=+"org.springframework.transaction.interceptor.TransactionProxyFactoryBean"+>
<property name=+"transactionManager"+><ref bean=+"transactionManager"+/></property>
<property name=+"target"+><ref bean=+"jbpmContextServiceTarget"+/></property>
<property name=+"transactionAttributes"+>
<props>
<prop key=+"deploy*"+>PROPAGATION_REQUIRED</prop>
<prop key=+"*"+>PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
And try to do a transition using executionService I am getting the exception saying that "Exception in thread "main"
org.jbpm.api.JbpmException: execution ddrRequest.400008 does not existat org.jbpm.pvm.internal.cmd.SignalCmd.execute(
SignalCmd.java:58)at org.jbpm.pvm.internal.cmd.SignalCmd.execute(
SignalCmd.java:35)at org.jbpm.pvm.internal.svc.DefaultCommandService.execute(
DefaultCommandService.java:42)at org.jbpm.pvm.internal.tx.SpringCommandCallback.doInTransaction(
SpringCommandCallback.java:45)at org.springframework.transaction.support.TransactionTemplate.execute(
TransactionTemplate.java:128)
I am getting this exception when I am using the ExecutionService instance to access the process instance.
In my analysis the problem is as the transaction is active and session is opened the JBPM4_EXECUTION table is not getting updated and the
++executionService
++
+
.signalExecutionById(id, "analystResearch"); is trying to find the execution istance from table but it is not present. But my doubt is why it is not tring to pick it from session?
One main thing is this problem is occuring only when the JBPM process definition is having a <java> node with some arguments and if we change the variable/variables in that java class.
And one more doubt,
+
processEngine.execute(*new* Command() {
*public* Object execute(Environment env) {
// do something.
*return* *null*;
}
});
why do we need this?
Can anybody please send me a solution for the same.
Thank you and regards,
Felix K Jose
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/552029#552029]
Start a new discussion in jBPM at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
13 years, 12 months
Re: [jboss-user] [Performance Tuning] - A question about JVM activ thread count
by Richard Boesch
Richard Boesch [http://community.jboss.org/people/vb_rich] replied to the discussion
"A question about JVM activ thread count"
To view the discussion, visit: http://community.jboss.org/message/552023#552023
--------------------------------------------------------------
I have a similar issue, but more details to provide. I’m hoping someone may have an idea to help me triage. Looking for any/all ideas on how to research this.
*Environment:*
* AIX ??
* JBoss 3.2.7 (yes, very old)
* JRE 1.3.1 (yes, very old)
* J2EE application (Swing Applet, JSP, EJB, Oracle)
*Thread Monitoring Solutions:*
* Hyperic agent
* Twiddle (JBoss command line tool to access JMX)
*Historic:*
* For the past 7 years our application has hovered around 150-200 active threads.
* No new code has been released recently
*Issue That Started Last Month:*
* Operations person “accidently restarted jboss” in the middle of the day. They said they misread an SOP and made a mistake. No other information can be found regarding what else may have happened. I believe something was deleted/configured/moved/etc from past experience with our support group.
* Per monitoring, thread counts jumped up dramatically the moment JBoss was restarted and we have had a recurring problem since. We are forced to restart our system every 4-5 days.
* Since the incident, as soon as we restart jboss, threads start rising at about 17k threads a day (never going downward).
* It has reached up to 90,000 threads
* Our JVM begins to produce heap dumps as thread counts rise past 60,000
* The heap dumps become so large/frequent that is causes our system to crash
*Research:*
* Heap dump analyzers show no memory/thread issues in the JVM, but our java version is so old that we are not sure how accurate the analyzer is.
* Per Hyperic/Twiddle, thread counts seem to rise in coorelation with applications coming into the system. When we put up a maintenance page, thread counts stop rising (do not go downward either)
* Twiddle allows us to invoke “listThreadDump” on the “jboss.system:type=ServerInfo” mbean, which shows the thread count of all thread groups, but it does not break the individual thread groups down to see how many threads are in each group (so we can’t narrow it down)
* JBoss3.2.7 is so old that listThreadDump (on ServerInfo) is the only function we can execute for analysis at the JBoss level.
* Our QA system has received a heap dump, but all load testing we perform does not raise the thread counts past 150 in that environment. Also, the heap dump can’t be recreated consistently. Our system is “infinitely configurable” so we may not be hitting the correct scenario as many production clients may be.
*Next Steps:*
* Our next step is to failover to a secondary application server to rule out a hardware failure on the prod app server. We doubt this will help, but it will eliminate a variable.
Any suggestions for triage are welcome (other than the obvious advice of upgrading our versions). Ideas anyone????
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/552023#552023]
Start a new discussion in Performance Tuning at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
13 years, 12 months
[EJB 3.0] - calling a transactional helper method from within a non-transactional EJB method
by Dave Bredesen
Dave Bredesen [http://community.jboss.org/people/dbredesen] created the discussion
"calling a transactional helper method from within a non-transactional EJB method"
To view the discussion, visit: http://community.jboss.org/message/552004#552004
--------------------------------------------------------------
So I'm trying to call a +transactional+ helper method from within a +non-transactional+ EJB3 service method. Since the EJB method has no transaction, a new one cannot be created through the local call to the helper method, because there is no txn wrapper initiated by the container.
The usual way around this is to get a handle to the local EJB instance via the SessionContext, and call the method through the handle. So:
*@Service*
*public class MyEJB {*
* @SessionContext ctx;*
*
*
* public void myPublicButNonTransactionalMethod() {*
* ((MyEJBLocal) ctx.getEJBLocalObject()).helperMethod();*
* }*
*
*
* @TransactionAttribute(REQUIRED)*
* public void helperMethod() {*
* entityManager.persist(someObj);*
* }*
*}*
Unfortunately, this doesn't seem to work in JBoss, and the errors are silly. I have tried 3 different approaches:
*ctx.getEJBLocalObject()*
*java.lang.IllegalStateException: NYI
*
**
**
*ctx.getEJBObject()*
*java.lang.IllegalStateException: NYI*
**
**
*ctx.getBusinessObject()*
*java.lang.IllegalStateException: Not implemented*
Isn't there any way to call the helper method to get a transaction without resorting to an Initial Context / JNDI lookup / etc??
This is JBoss AS 5.1.0, using Hibernate.
Thanks,
--d
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/552004#552004]
Start a new discussion in EJB 3.0 at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
13 years, 12 months
[JBoss Microcontainer] - Understanding deployment namespace schema with metadata parsing
by Zemian Deng
Zemian Deng [http://community.jboss.org/people/saltnlight5] created the discussion
"Understanding deployment namespace schema with metadata parsing"
To view the discussion, visit: http://community.jboss.org/message/551992#551992
--------------------------------------------------------------
Hi,
I am trying to understand how the deployment xml file namespace is registered with JBossXB and how new/custom ones are added.
So far I see that org.jboss.xb.binding.sunday.unmarshalling.SingletonSchemaResolverFactory has pre initialized these namespace schema with their BeanMetaDataFactory implementations.
addJaxbSchema("urn:jboss:aop-beans:1.0", "org.jboss.aop.microcontainer.beans.metadata.AOPDeployment");
addJaxbSchema("urn:jboss:bean-deployer", "org.jboss.kernel.plugins.deployment.AbstractKernelDeployment10");
addJaxbSchema("urn:jboss:bean-deployer:2.0", "org.jboss.kernel.plugins.deployment.AbstractKernelDeployment");
addJaxbSchema("urn:jboss:javabean:1.0", "org.jboss.javabean.plugins.jaxb.JavaBean10");
addJaxbSchema("urn:jboss:javabean:2.0", "org.jboss.javabean.plugins.jaxb.JavaBean20");
addJaxbSchema("urn:jboss:policy:1.0", "org.jboss.beans.metadata.plugins.policy.AbstractPolicyMetaData");
addJaxbSchema("urn:jboss:classloading:1.0", "org.jboss.classloading.spi.metadata.ClassLoadingMetaData10");
addJaxbSchema("urn:jboss:classloader:1.0", "org.jboss.classloading.spi.vfs.metadata.VFSClassLoaderFactory10");
addJaxbSchema("urn:jboss:deployers:2.0", "org.jboss.deployers.vfs.plugins.xb.SchemaResolverDeployerMetaData");
So how are newly defined schemas registered? For example the org.jboss.hibernate.deployers.metadata.HibernateMetaData, when or what is parsing the JBossXmlSchema annotation? Is this all there is needed to registered with new BeanMetaDataFactory?
Thanks,
Zemian Deng
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/551992#551992]
Start a new discussion in JBoss Microcontainer at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
13 years, 12 months