[Messaging, JMS & JBossMQ] - Queue listeners stop working
by mman
Hi guys,
I have inherited an application from a team that doesn't exist anymore. The system is in production with HSQLDB (argh!) as the persistence engine of 2 queues, one for incoming messages, the other for outgoing messages. From time to time the application get "stuck": messages are accumulating into the queues and dequeuers are not waken up until we restart the app server entirely.
Can this be related to HSQLDB? Would it help to migrate to MySQL (which we intend to do anyway)?
A thread dump when the problem occurs shows the listeners waiting on the queues, so it's not clear to me if this can be related to the underlying persistence engine.
In order to try to mitigate the problem, we have increased the amount of concurrent listeners on every queue from 3 to 10: I wonder whether this can really make things better or worse. It's also worth noting that if I check the receivers when the problem happens, though, I see that the total number is 0 (while normally it is 10, after last change).
We are currently using JBoss 4.0.5.GA in a non clustered environment.
Any hint would be extremely appreciated.
TIA
MM
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4148199#4148199
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4148199
16 years, 4 months
[JBoss jBPM] - integration with JBoss Rules engine?
by mpopova
Hello,
I could not find a good answer to this question: is JBPM integrated with JBoss Rules engine?
Different people give different meaning to the word 'integration', so I will explain what kind of functionality I am looking for:
I would like to be able to define a set of rules (in Excel, since JBoss Rules can work with it well). The result of a rule (an action) is an approval chain - which is a list of approvers an object has to go through.
My application will fire off the rules engine to evaluate the rules at run time and give me the resulting approval chain. Users may modify this approval chain , adding/deleting approvers, and eventually my application will pass the final approval chain into the workflow engine as the basis for the process definition. Then, jBPM (or other wf engine) will be responsible for execution of the approval (workflow) process.
Is something like this possible to implement using the JBoss Rules engine + jBPM?
Thanks,
Marina
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4148195#4148195
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4148195
16 years, 4 months
[Clustering/JBoss] - Re: Large CPU Increase Using Buddy Session Replication
by dmurphy
Sorry - re-posting with code tags..
PROBLEM
We are trying to use session replication with ASS 4.0.5 but running into significant performance problems.
Specifically, under load We are seeing a 3-4x cpu increase in cpu on the app servers as a result of them
trying to do session replication.
Unfortunately the application is pretty old and somewhat badly written. As a result there
are some pretty large oject graphs in the user's session. We are trying to remove those in order to be
as session replication friendly as possible. In addition the app repeatedly stores the same
attribute value back into the session rather than checking if the value already exists there (and avoiding
an unnecessaryt session.set). We could possibly refactor this but its going to be a lot of work..
There is a possibility of upgrading to a later version of the AS, but not in the short term and so we would really
like to get this working with our current verson - AS 4.0.5.
BASIC SESSION REPLICATION UNDERSTANDING
Can I get some info on the basic operation of the session cache replication?
(Please note we are using AS 4.0.5 so the info I require must be specific to that version, since I imagine many improvements have been done since that version)
For example, (for the moment without a UseReplQueue queue setup) does replication occur every time the app sets a session attribute? And when it replicates does it then replicate just the value of the attribute that was just set
or does it replicate the entire user's session at that point.
OPTIMAL CONFIGURATION
here is the best guess settings we have for the session replication cache (org.jboss.cache.aop.TreeCacheAop)
We use buddy replication with 1 backup node for each node.Here is our settings-
<attribute name="IsolationLevel">REPEATABLE_READ</attribute>
| can we use 'NONE'. Will this help performance? What are the semantics of NONE for a session repl cache?
|
| <attribute name="CacheMode">REPL_ASYNC</attribute>
| This should be the best choice - right?
|
| <attribute name="UseRegionBasedMarshalling">false</attribute>
| This should be the best choice - right?
|
| Things we might try ..
| <attribute name="UseReplQueue">true</attribute>
| <attribute name="ReplQueueInterval ">10000</attribute>
| <attribute name="ReplQueueMaxElements">2000</attribute>
| We are considering to ty this since our app updates the same value into the session repeatedly and often.
| Short of refactoring the app I am hoping maybe the queue mechanism may help?
|
| <attribute name="NodeLockingScheme">OPTIMISTIC</attribute>
| Will this help our cpu load?
|
|
OTHER SUGGESTIONS
Are there any other suggestions that might help us reduce this very significant overheard of using session replication
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4148189#4148189
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4148189
16 years, 4 months
[Clustering/JBoss] - Large CPU Increase Using Buddy Session Replication
by dmurphy
PROBLEM
We are trying to use session replication with ASS 4.0.5 but running into significant performance problems. Specifically, under load we are seeing a 3-4x cpu increase in cpu on the app servers as a result of them trying to do session replication.
Unfortunately the application is pretty old and somewhat badly written. As a result there are some pretty large object graphs in the user's session. We are trying to remove those in order to be as session replication friendly as possible. In addition the app repeatedly stores the same attribute value back into the session rather than checking if the value already exists there (and avoiding an unnecessary session.set). We could possibly re-factor this but its going to be a lot of work..
There is a possibility of upgrading to a later version of the AS, but not in the short term and so we would really like to get this working with our current version - AS 4.0.5.
BASIC SESSION REPLICATION UNDERSTANDING
Can I get some info on the basic operation of the session cache replication?
(Please note we are using AS 4.0.5 so the info I require must be specific to that version, since I imagine many improvements have been done since that version)
For example, (for the moment without a UseReplQueue queue setup) does replication occur every time the app sets a session attribute? And when it replicates does it then replicate just the value of the attribute that was just set or does it replicate the entire user's session at that point.
OPTIMAL CONFIGURATION
here is the best guess settings we have for the session replication cache (org.jboss.cache.aop.TreeCacheAop)
We use buddy replication with 1 backup node for each node.
REPEATABLE_READ
can we use 'NONE'. Will this help performance? What are the semantics of NONE for a session repl cache?
REPL_ASYNC
This should be the best choice - right?
false
This should be the best choice - right?
Changes we are considering -
OPTIMISTIC
Will this help the cpu overhead?
true
10000
2000
We are considering to try this since our app updates the same value into the session repeatedly and often. Short of refactoring the app I am hoping maybe the queue mechanism may help?
OTHER SUGGESTIONS
Are there any other suggestions that might help us reduce this very significant overheard of using session replication
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4148188#4148188
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4148188
16 years, 4 months
[JBoss/Spring Integration] - Could not parse mapping document from input stream
by Cybertech
Hi,
We are getting the below exception while deploying a war to JBoss 4.2.2 GA installed on Linux machine:
| org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Invocation of init method failed; nested exception is org.hibernate.InvalidMappingException: Could not parse mapping document from input stream
| Caused by:
| org.hibernate.InvalidMappingException: Could not parse mapping document from input stream
| at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:508)
| at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:656)
| at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:134)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1202)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1172)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:428)
| at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
| at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156)
| at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
| at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
| at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:284)
| at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
| at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:244)
| at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:187)
| at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
| at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3856)
| at org.apache.catalina.core.StandardContext.start(StandardContext.java:4361)
| at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:790)
| at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:770)
| at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:553)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:296)
| at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.apache.catalina.core.StandardContext.init(StandardContext.java:5312)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:296)
| at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.web.tomcat.service.TomcatDeployer.performDeployInternal(TomcatDeployer.java:301)
| .
| .
| .
| .
| .
| .
| 2008-05-01 19:43:35,205 INFO [STDOUT] MBeanOperationInterceptor.java:142)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| at $Proxy9.deploy(Unknown Source)
| at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
| at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:610)
| at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
| at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
| at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
| Caused by: org.dom4j.DocumentException: org.dom4j.DocumentFactory Nested exception: org.dom4j.DocumentFactory
| at org.dom4j.io.SAXReader.read(SAXReader.java:484)
| at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:499)
| ... 104 more
|
Before deployment we have tested this war file on a different JBoss 4.2.2GA server installed on Windows OS. Basically we are moving the war file from Test to Prod
envirnoment.
Below is the list of jar files under jboss-4.2.2.GA/server/default/lib folder:
| activation.jar jboss-common-jdbc-wrapper.jar jbossts-common.jar
| antlr.jar jboss-ejb3x.jar jbossws-common.jar
| autonumber-plugin.jar jboss-hibernate.jar jbossws-framework.jar
| bcel.jar jboss-j2ee.jar jbossws-jboss42.jar
| bindingservice-plugin.jar jboss-jaxrpc.jar jbossws-spi.jar
| bsf.jar jboss-jaxws.jar jcommon-0.9.5.jar
| bsh-deployer.jar jboss-jca.jar jfreechart-0.9.20.jar
| bsh.jar jboss-jsr77.jar jmx-adaptor-plugin.jar
| cglib.jar jboss-jsr88.jar jnpserver.jar
| commons-beanutils-1.6.1.jar jboss-management.jar joesnmp.jar
| commons-codec-1.2.jar jboss-monitoring.jar jpl-pattern.jar
| commons-codec.jar jboss-remoting-int.jar jpl-util.jar
| commons-collections-3.0.jar jboss-remoting.jar jsp-api.jar
| commons-collections.jar jboss-saaj.jar jstl.jar
| commons-digester-1.5.jar jboss-seam-debug.jar log4j-snmp-appender.jar
| commons-el.jar jboss-seam-gen.jar log4j.jar
| commons-fileupload-1.0.jar jboss-seam-ioc.jar mail-plugin.jar
| commons-httpclient.jar jboss-seam-mail.jar mail.jar
| commons-lang-2.1.jar jboss-seam-pdf.jar myfaces-api.jar
| commons-logging.jar jboss-seam-remoting.jar myfaces-impl.jar
| dom4j.jar jboss-seam-ui.jar poi-3.0.1-FINAL-20070705.jar
| dwr.jar jboss-seam-wicket.jar poi-contrib-3.0.1-FINAL-20070705.jar
| ejb3-persistence.jar jboss-seam.jar poi-scratchpad-3.0.1-FINAL-20070705.jar
| el-api.jar jboss-serialization.jar postgresql-8.1-410.jdbc2ee.jar
| hibernate-annotations.jar jboss-srp.jar properties-plugin.jar
| hibernate-entitymanager.jar jboss-system.jar quartz.jar
| hibernate3.jar jboss-transaction.jar sandbox.jar
| hsqldb-plugin.jar jboss-vfs.jar scheduler-plugin-example.jar
| hsqldb.jar jboss.jar scheduler-plugin.jar
| iText-2.0.7.jar jbossjta-integration.jar servlet-api.jar
| javassist.jar jbossjta.jar spring.jar
| jaxen.jar jbossmq.jar tomahawk.jar
| jboss-cache-jdk50.jar jbosssx.jar xmlentitymgr.jar
|
|
Below is the list of jar files under our WAR WEB-INF/lib folder:
| activation.jar
| antlr-2.7.6.jar
| cglib.jar
| commons-beanutils-1.7.0.jar
| commons-digester-1.8.jar
| commons-fileupload-1.1.1.jar
| commons-httpclient-3.0.1.jar
| commons-io-1.1.jar
| commons-lang-2.2.jar
| commons-logging-1.0.4.jar
| commons-validator-1.1.4.jar
| dom4j-1.4.jar
| ehcache-1.3.0.jar
| gwt-servlet.jar
| gwt-user.jar
| gwt-widgets-server-0.1.2.jar
| gwtext.jar
| gwtextux-0[1].1.1.jar
| jta.jar
| log4j-1.2.8.jar
| mail.jar
| struts.jar
| velocity-1.5-dev.jar
| velocity-tools-1.2.jar
|
We also tried to move spring.jar file from default/lib to WEB-INF/lib but still got the same error. Could any one of you please point us or help us to resolve this issue?
Thank you,
Chaya
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4148187#4148187
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4148187
16 years, 4 months