[JBoss Tools] - MDB Deployment using Eclipse with AS7.1
by Laura delli Paoli
Laura delli Paoli [https://community.jboss.org/people/lauradp] created the discussion
"MDB Deployment using Eclipse with AS7.1"
To view the discussion, visit: https://community.jboss.org/message/740098#740098
--------------------------------------------------------------
Hello everybody!
I successfully developped a Producer Consumer application and deployed it in Eclipse IDE by adding it to my jBoss AS 7.1 server.
My MDB is:
+@MessageDriven(activationConfig = {+
+ @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),+
+ @ActivationConfigProperty(propertyName = "destination", propertyValue = "queue/TestQ") })+
+public class QueueReader implements MessageListener {+
+.....+
Now I have to change my app in order to use ejb-jar.xml to configure my MDB so I changed my MDB in:
+@MessageDriven+
+public class QueueReader implements MessageListener+
and I wrote the following ejb-jar.xml:
+<?xml version="1.0" encoding="UTF-8"?>+
+<ejb-jar+
+ xmlns=" http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee"+
+ xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance http://www.w3.org/2001/XMLSchema-instance"+
+ xsi:schemaLocation=" http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd"+
+ version="3.1">+
+ <enterprise-beans>+
+ <message-driven>+
+ <ejb-name>JBossQueueReader</ejb-name>+
+ <ejb-class>reader.QueueReader</ejb-class>+
+ <transaction-type>Container</transaction-type>+
+ <activation-config>+
+ <activation-config-property>+
+ <activation-config-property-name>destinationType</activation-config-property-name>+
+ <activation-config-property-value>javax.jms.Queue</activation-config-property-value>+
+ </activation-config-property>+
+ <activation-config-property>+
+ <activation-config-property-name>destination</activation-config-property-name>+
+ <activation-config-property-value>queue/TestQ</activation-config-property-value>+
+ </activation-config-property>+
+ </activation-config>+
+ </message-driven>+
+ </enterprise-beans>+
+</ejb-jar>+
with these changes when I start my server I get the following error:
+10:33:43,177 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-6) MSC00001: Failed to start service jboss.deployment.unit."JBossQueueReader.jar".component.QueueReader.START: org.jboss.msc.service.StartException in service jboss.deployment.unit."JBossQueueReader.jar".component.QueueReader.START: Failed to start service+
+ at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1767) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]+
+ at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [rt.jar:1.6.0_32]+
+ at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.6.0_32]+
+ at java.lang.Thread.run(Unknown Source) [rt.jar:1.6.0_32]+
+Caused by: java.lang.RuntimeException: javax.resource.spi.InvalidPropertyException: Destination is mandatory+
+ at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.start(MessageDrivenComponent.java:171)+
+ at org.jboss.as.ee.component.ComponentStartService.start(ComponentStartService.java:44)+
+ at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]+
+ at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]+
+ ... 3 more+
+Caused by: javax.resource.spi.InvalidPropertyException: Destination is mandatory+
+ at org.hornetq.ra.inflow.HornetQActivationSpec.validate(HornetQActivationSpec.java:643)+
+ at org.jboss.jca.core.rar.EndpointImpl.activate(EndpointImpl.java:157)+
+ at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.start(MessageDrivenComponent.java:169)+
+ ... 6 more+
+10:33:43,200 INFO [org.jboss.as] (MSC service thread 1-6) JBAS015951: Admin console listening on http://127.0.0.1:9990 http://127.0.0.1:9990+
+10:33:43,202 ERROR [org.jboss.as] (MSC service thread 1-6) JBAS015875: JBoss AS 7.1.1.Final "Brontes" started (with errors) in 4759ms - Started 250 of 334 services (1 services failed or missing dependencies, 82 services are passive or on-demand)+
+10:33:43,207 INFO [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS015870: Deploy of deployment "JBossQueueReader.jar" was rolled back with failure message {"JBAS014671: Failed services" => {"jboss.deployment.unit.\"JBossQueueReader.jar\".component.QueueReader.START" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"JBossQueueReader.jar\".component.QueueReader.START: Failed to start service"}}+
+10:33:43,213 INFO [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS015871: Deploy of deployment "jboss-as-helloworld.jar" was rolled back with no failure message+
+10:33:43,254 INFO [org.jboss.as.server.deployment] (MSC service thread 1-1) JBAS015877: Stopped deployment jboss-as-helloworld.jar in 39ms+
+10:33:43,449 INFO [org.jboss.as.server.deployment] (MSC service thread 1-1) JBAS015877: Stopped deployment JBossQueueReader.jar in 237ms+
+10:33:43,451 INFO [org.jboss.as.controller] (DeploymentScanner-threads - 2) JBAS014774: Service status report+
+JBAS014777: Services which failed to start: service jboss.deployment.unit."JBossQueueReader.jar".component.QueueReader.START: org.jboss.msc.service.StartException in service jboss.deployment.unit."JBossQueueReader.jar".component.QueueReader.START: Failed to start service+
+10:33:43,457 ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) JBAS014654: Composite operation was rolled back+
+10:33:43,461 ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) {"JBAS014653: Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-2" => {"JBAS014671: Failed services" => {"jboss.deployment.unit.\"JBossQueueReader.jar\".component.QueueReader.START" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"JBossQueueReader.jar\".component.QueueReader.START: Failed to start service"}}}}+
Is there any other step to performed in order to have my application working anyway??
I need to separate configuration from classes.
Thanks
Laura
Note: full JBoss trace is attached.
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/740098#740098]
Start a new discussion in JBoss Tools at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
12 years
[jBPM] - Workitem handler thread safety issues
by hua zhong
hua zhong [https://community.jboss.org/people/ghuazh] created the discussion
"Workitem handler thread safety issues"
To view the discussion, visit: https://community.jboss.org/message/740086#740086
--------------------------------------------------------------
Hi, all.
Human workitem handler need be resigted to ksession before human task process start.
I need to pass some object into workitem handler, but it's not tread safety.
code:
CommonSingleObjectWorkHandler handler = new SingleObjectWorkHandler(ksession);
handler.setSingleObject(so);
In handler:
setSingleObject(ISingleObject so){
this.so = so;
}
and in executeWorkItem method, we have code to use "so".
@Override
public void executeWorkItem(WorkItem workItem, WorkItemManager manager) {
Task task = createTaskBasedOnWorkItemParams(workItem);
ContentData content = createTaskContentBasedOnWorkItemParams(workItem);
connect();
try {
getClient().addTask(task, content);
String userId = (String) workItem.getParameter("ActorId");
//...we use "so" here............................................
} catch (Exception e) {
if (action.equals(OnErrorAction.ABORT)) {
manager.abortWorkItem(workItem.getId());
} else if (action.equals(OnErrorAction.RETHROW)) {
if (e instanceof RuntimeException) {
throw (RuntimeException) e;
} else {
throw new RuntimeException(e);
}
} else if (action.equals(OnErrorAction.LOG)) {
}
e.printStackTrace();
}
But the handler will be used by other session. and invoke the setSingleObject() mothod to make data changed.
We have only one method to start process, and every time it'll create a new ksession and handler.
I don't know the reason why the handler will shared in those sessions?
To solve this problem, we need to pass "singleObject" to a process parameter, in executeWorkItem() method get the "singleObject" from workitem parameter.
h3. http://www.zeropaid.com/bbs/threads/6765-i-hope-this-is-the-last-problem-... http://www.zeropaid.com/bbs/threads/6765-i-hope-this-is-the-last-problem-...
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/740086#740086]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
12 years
[jBPM] - Too many problems
by hua zhong
hua zhong [https://community.jboss.org/people/ghuazh] created the discussion
"Too many problems"
To view the discussion, visit: https://community.jboss.org/message/739962#739962
--------------------------------------------------------------
sometimes it's ok, sometimes not. sometimes fast, sometimes slow
2012-06-05 22:54:57.858:INFO:oejs.AbstractConnector:Started SelectChannelConnector@0.0.0.0:88
0 05/06 23:00:15,115[Thread-40] ERROR event.def.AbstractFlushingEventListener.performExecutions - Could not synchronize database state with session
org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [org.jbpm.persistence.processinstance.ProcessInstanceInfo#1]
at org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1782)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2425)
at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2325)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2625)
at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:115)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:168)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1028)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:366)
at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:504)
at bitronix.tm.BitronixTransaction.fireBeforeCompletionEvent(BitronixTransaction.java:478)
at bitronix.tm.BitronixTransaction.commit(BitronixTransaction.java:193)
at bitronix.tm.BitronixTransactionManager.commit(BitronixTransactionManager.java:120)
at org.drools.persistence.jta.JtaTransactionManager.commit(JtaTransactionManager.java:179)
at org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:371)
at org.drools.command.impl.CommandBasedStatefulKnowledgeSession$1.completeWorkItem(CommandBasedStatefulKnowledgeSession.java:150)
at org.jbpm.process.workitem.wsht.GenericHTWorkItemHandler$TaskCompletedHandler.handleCompletedTask(GenericHTWorkItemHandler.java:219)
at org.jbpm.process.workitem.wsht.GenericHTWorkItemHandler$TaskCompletedHandler$1.run(GenericHTWorkItemHandler.java:187)
at java.lang.Thread.run(Unknown Source)
5 05/06 23:00:15,120[Thread-40] ERROR drools.persistence.SingleSessionCommandService.rollbackTransaction - Could not commit session
java.lang.RuntimeException: Unable to commit transaction
at org.drools.persistence.jta.JtaTransactionManager.commit(JtaTransactionManager.java:182)
at org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:371)
at org.drools.command.impl.CommandBasedStatefulKnowledgeSession$1.completeWorkItem(CommandBasedStatefulKnowledgeSession.java:150)
at org.jbpm.process.workitem.wsht.GenericHTWorkItemHandler$TaskCompletedHandler.handleCompletedTask(GenericHTWorkItemHandler.java:219)
at org.jbpm.process.workitem.wsht.GenericHTWorkItemHandler$TaskCompletedHandler$1.run(GenericHTWorkItemHandler.java:187)
at java.lang.Thread.run(Unknown Source)
Caused by: javax.persistence.OptimisticLockException: org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [org.jbpm.persistence.processinstance.ProcessInstanceInfo#1]
at org.hibernate.ejb.AbstractEntityManagerImpl.wrapStaleStateException(AbstractEntityManagerImpl.java:630)
at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:588)
at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:513)
at bitronix.tm.BitronixTransaction.fireBeforeCompletionEvent(BitronixTransaction.java:478)
at bitronix.tm.BitronixTransaction.commit(BitronixTransaction.java:193)
at bitronix.tm.BitronixTransactionManager.commit(BitronixTransactionManager.java:120)
at org.drools.persistence.jta.JtaTransactionManager.commit(JtaTransactionManager.java:179)
... 5 more
Caused by: org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [org.jbpm.persistence.processinstance.ProcessInstanceInfo#1]
at org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1782)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2425)
at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2325)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2625)
at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:115)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:168)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1028)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:366)
at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:504)
... 9 more
Exception in thread "Thread-40" java.lang.RuntimeException: Unable to commit transaction
at org.drools.persistence.jta.JtaTransactionManager.commit(JtaTransactionManager.java:182)
at org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:371)
at org.drools.command.impl.CommandBasedStatefulKnowledgeSession$1.completeWorkItem(CommandBasedStatefulKnowledgeSession.java:150)
at org.jbpm.process.workitem.wsht.GenericHTWorkItemHandler$TaskCompletedHandler.handleCompletedTask(GenericHTWorkItemHandler.java:219)
at org.jbpm.process.workitem.wsht.GenericHTWorkItemHandler$TaskCompletedHandler$1.run(GenericHTWorkItemHandler.java:187)
at java.lang.Thread.run(Unknown Source)
Caused by: javax.persistence.OptimisticLockException: org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [org.jbpm.persistence.processinstance.ProcessInstanceInfo#1]
at org.hibernate.ejb.AbstractEntityManagerImpl.wrapStaleStateException(AbstractEntityManagerImpl.java:630)
at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:588)
at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:513)
at bitronix.tm.BitronixTransaction.fireBeforeCompletionEvent(BitronixTransaction.java:478)
at bitronix.tm.BitronixTransaction.commit(BitronixTransaction.java:193)
at bitronix.tm.BitronixTransactionManager.commit(BitronixTransactionManager.java:120)
at org.drools.persistence.jta.JtaTransactionManager.commit(JtaTransactionManager.java:179)
... 5 more
Caused by: org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [org.jbpm.persistence.processinstance.ProcessInstanceInfo#1]
at org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1782)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2425)
at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2325)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2625)
at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:115)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:168)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1028)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:366)
at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:504)
... 9 more
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/739962#739962]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
12 years
[JBoss Messaging] - Broken Pipe exception when a JMS client reconnected to a durable subscription
by Kim Truong
Kim Truong [https://community.jboss.org/people/tdinhkim] created the discussion
"Broken Pipe exception when a JMS client reconnected to a durable subscription"
To view the discussion, visit: https://community.jboss.org/message/739877#739877
--------------------------------------------------------------
Hi,
When my JMS client reconnected to the durable subscription in JBoss, the server reported this exception
> 2012-06-05 10:07:37,961 ERROR [WorkerThread#3[192.168.99.87:4146]]-[org.jboss.remoting.transport.socket.ServerThread] WorkerThread#3[192.168.99.87:4146] failed
> java.io.IOException: Broken pipe
> at java.net.SocketOutputStream.socketWrite0(Native Method)
> at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
> at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
> at org.jboss.remoting.transport.socket.TimedOutputStream.write(TimedOutputStream.java:119)
> at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
> at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
> at java.io.DataOutputStream.flush(DataOutputStream.java:106)
> at org.jboss.jms.wireformat.SessionAcknowledgeDeliveryResponse.write(SessionAcknowledgeDeliveryResponse.java:54)
> at org.jboss.jms.wireformat.JMSWireFormat.write(JMSWireFormat.java:237)
> at org.jboss.remoting.transport.socket.ServerThread.versionedWrite(ServerThread.java:1074)
> at org.jboss.remoting.transport.socket.ServerThread.completeInvocation(ServerThread.java:830)
> at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:744)
> at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:586)
> at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:234)
Before the client reconnected, the JMS topic contained 300 messages. When reconnect, the client can receive all 300 messages but the message count was not zero and I must reconnect the client one more time to cleanup it.
JBoss: 5.1.0 GA
JBM: 1.4.6 GA
Kim
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/739877#739877]
Start a new discussion in JBoss Messaging at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
12 years