[JBoss jBPM] - Jbpm 3.0.0 - why data loss from process definition tables?
by sscortan
Hello,
I'm using Jbpm 3.0.0 and Tomcat 4.1.27 for a purchasing order workflow application which has 7 process definitions (workflows), using PostgreSQL 8.0. The process definitions have 5-8 steps, forks, joins and decisions.
I have dozens of process instances and hundreds of tasks successfully created every day, and sometimes I have noticed that some data from the process definition tables (jbpm_moduledefinition, jbpm_node or jbpm_transition) effectively dissapear ("holes" in some fields of data records), especially when then database traffic is high. This disturbs the creation of new tasks and make these process instances unusable.
I would like to make the records from those tables "read only" after every deployment of a process definition, for the daily database usage, but I don't know how.
Do you have any idea which is the cause of this data loss and how to prevent or solve it? Thank you for any answer.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3991254#3991254
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3991254
19 years, 7 months
[Messaging, JMS & JBossMQ] - javax.jms.InvalidDestinationException: Destination is not an
by chaituu
followed this url and deployed new new messaging instance
http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossMessagingBuildInstructions
i created mdb.ear and deployed in the mesaging instance.my requirement is i am trying to lookup remote queue;
i followed below url for scoped ear for Remote Messaging Instance.
http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossMessagingUser_Deploying_a_s...
mdb.ear was deployed with no errors in messaging instance .
in mesaging instance in directory jboss-messaging.sar i changed destinations-service.xml to create new queue(testQueue);
below in jms-ds.xml in messaging instance;
| <?xml version="1.0" encoding="UTF-8"?>
|
| <connection-factories>
|
| <mbean code="org.jboss.jms.jndi.JMSProviderLoader"
| name="jboss.mq:service=JMSProviderLoader,name=JMSProvider,server=172.16.7.12">
| <attribute name="ProviderName">QueuehostJMSProvider</attribute>
| <attribute name="ProviderAdapterClass">
| org.jboss.jms.jndi.JNDIProviderAdapter
| </attribute>
| <!-- The queue connection factory -->
| <attribute name="QueueFactoryRef">/XAConnectionFactory</attribute>
| <!-- The topic factory -->
| <attribute name="TopicFactoryRef">/XAConnectionFactory</attribute>
| <!-- Use HAJNDI to access JMS -->
| <attribute name="Properties">
| java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
| java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
| java.naming.provider.url=172.16.7.12:1099
| </attribute>
| </mbean>
|
|
| <mbean code="org.jboss.jms.asf.ServerSessionPoolLoader"
| name="jboss.messaging:service=ServerSessionPoolMBean,name=StdJMSPool">
| <depends optional-attribute-name="XidFactory">jboss:service=XidFactory</depends>
| <attribute name="PoolName">StdJMSPool</attribute>
| <attribute name="PoolFactoryClass">org.jboss.jms.asf.StdServerSessionPoolFactory</attribute>
| </mbean>
|
|
| <tx-connection-factory>
| <jndi-name>JmsXA</jndi-name>
| <xa-transaction/>
| <rar-name>jms-ra.rar</rar-name>
| <connection-definition>org.jboss.resource.adapter.jms.JmsConnectionFactory</connection-definition>
| <config-property name="SessionDefaultType" type="java.lang.String">javax.jms.Queue</config-property>
| <config-property name="JmsProviderAdapterJNDI" type="java.lang.String">java:/QueuehostJMSProvider</config-property>
| <max-pool-size>20</max-pool-size>
| <security-domain-and-application>JmsXARealm</security-domain-and-application>
| <depends>jboss.messaging:service=ServerPeer</depends>
| </tx-connection-factory>
|
| </connection-factories>
|
in messaging instance only i changed standardjboss.xml
****************************************************
|
| <invoker-proxy-binding>
| <name>my-mdb-invoker</name>
| <invoker-mbean>message-driven-bean</invoker-mbean>
| <proxy-factory>org.jboss.ejb.plugins.jms.JMSContainerInvoker</proxy-factory>
| <proxy-factory-config>
| <JMSProviderAdapterJNDI>QueuehostJMSProvider</JMSProviderAdapterJNDI>
| <ServerSessionPoolFactoryJNDI>StdJMSPool</ServerSessionPoolFactoryJNDI>
| <MinimumSize>1</MinimumSize>
| <MaximumSize>15</MaximumSize>
| <KeepAliveMillis>30000</KeepAliveMillis>
| <MaxMessages>1</MaxMessages>
| <MDBConfig>
| <ReconnectIntervalSec>10</ReconnectIntervalSec>
| <DLQConfig>
| <DestinationQueue>queue/DLQ</DestinationQueue>
| <MaxTimesRedelivered>10</MaxTimesRedelivered>
| <TimeToLive>0</TimeToLive>
| </DLQConfig>
| </MDBConfig>
| </proxy-factory-config>
| </invoker-proxy-binding>
|
in the corresponding mdb.ear i changed jboss.xml
********************************
|
| <message-driven>
| <ejb-name>ExampleMessageDrivenBean</ejb-name>
| <configuration-name>Standard Message Driven Bean</configuration-name>
| <destination-jndi-name>queue/testQueue</destination-jndi-name>
| <invoker-bindings>
| <invoker>
| <invoker-proxy-binding-name>my-mdb-invoker</invoker-proxy-binding-name>
| </invoker>
| </invoker-bindings>
| </message-driven>
|
client code is in default instance
Properties env = new Properties();
env.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
env.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
env.put(Context.PROVIDER_URL, "172.16.7.12:1099");
Context remoteCtx = new InitialContext(env);
Queue queue = (Queue)remoteCtx.lookup("queue/testQueue");
QueueConnectionFactory queueFactory = (QueueConnectionFactory)remoteCtx.lookup("java:JmsXA");
I am getting JmsXA not bound exception(what is the right way of look up ?)
when i changed from JmsXA to java:/XAConnectionFactory i am getting queueFactory but i am getting below exception.
javax.jms.InvalidDestinationException: Destination is not an instance of SpyDestination JBossQueue[testQueue]
see my messaging instance log file
2006-12-05 16:37:24,986 34739 INFO [org.jboss.jms.server.destination.Queue] @main Queue[/queue/DLQ] started, fullSize=75000, pageSize=2000, downCacheSize=2000
2006-12-05 16:37:25,032 34785 INFO [org.jboss.jms.server.destination.Topic] @main Topic[/topic/testTopic] started, fullSize=75000, pageSize=2000, downCacheSize=2000
2006-12-05 16:37:25,032 34785 INFO [org.jboss.jms.server.destination.Topic] @main Topic[/topic/securedTopic] started, fullSize=75000, pageSize=2000, downCacheSize=2000
2006-12-05 16:37:25,048 34801 INFO [org.jboss.jms.server.destination.Topic] @main Topic[/topic/testDurableTopic] started, fullSize=75000, pageSize=2000, downCacheSize=2000
2006-12-05 16:37:25,251 35004 INFO [org.jboss.jms.server.destination.Queue] @main Queue[/queue/testQueue] started, fullSize=75000, pageSize=2000, downCacheSize=2000
2006-12-05 16:37:25,298 35051 INFO [org.jboss.jms.server.destination.Queue] @main Queue[/queue/A] started, fullSize=75000, pageSize=2000, downCacheSize=2000
2006-12-05 16:37:25,298 35051 INFO [org.jboss.jms.server.destination.Queue] @main Queue[/queue/B] started, fullSize=75000, pageSize=2000, downCacheSize=2000
2006-12-05 16:37:25,314 35067 INFO [org.jboss.jms.server.destination.Queue] @main Queue[/queue/C] started, fullSize=75000, pageSize=2000, downCacheSize=2000
2006-12-05 16:37:25,329 35082 INFO [org.jboss.jms.server.destination.Queue] @main Queue[/queue/D] started, fullSize=75000, pageSize=2000, downCacheSize=2000
2006-12-05 16:37:25,345 35098 INFO [org.jboss.jms.server.destination.Queue] @main Queue[/queue/ex] started, fullSize=75000, pageSize=2000, downCacheSize=2000
2006-12-05 16:37:25,345 35098 INFO [org.jboss.jms.server.destination.Topic] @main Topic[/topic/openTopic] started, fullSize=75000, pageSize=2000, downCacheSize=2000
2006-12-05 16:37:25,939 35692 INFO [org.jboss.resource.connectionmanager.ConnectionFactoryBindingService] @main Bound connection factory for resource adapter for ConnectionManager 'jboss.jca:service=ConnectionFactoryBinding,name=JmsXA to JNDI name 'java:JmsXA'
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3991242#3991242
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3991242
19 years, 7 months
[EJB/JBoss] - Re: 4.0.4.GA - @javax.persistence.OneToMany(mappedBy) - brok
by smix007
hello,
I have practically the same problem that you:
in TermProj
| public class TermProj implements Serializable {
|
| @EmbeddedId
| protected TermProjPK termProjPK;
| //join with TermSource
| @ManyToOne
| @JoinColumn (name = "AUIW")
| private TermSource auiw;
| public TermSource getAuiw() {
| return auiw;
| }
|
| public void setAuiw(TermSource auiw) {
| this.auiw = auiw;
| }
|
|
| //join with SnomedInter
| @ManyToOne
| @JoinColumn (name = "AUIS")
| private SnomedInter auis;
| public SnomedInter getAuis() {
| return auis;
| }
|
| public void setAuis(SnomedInter auis) {
| this.auis = auis;
| }
|
public class TermSource implements Serializable {
|
|
|
|
| @Id
| @Column(name = "AUIW", nullable = false)
| private String auiw;
| [...]
| @OneToMany(mappedBy="AUIW")
| private Collection<TermProj> termProjs;
|
| public Collection<TermProj> getTermProjs() {
| return termProjs;
| }
|
| public void setTermProjs(Collection<TermProj> termProjs) {
| this.termProjs = termProjs;
| }
| public class SnomedInter implements Serializable {
|
| @Id
| @Column(name = "AUIS", nullable = false)
| private String auis;
| [...]
| @OneToMany(mappedBy="AUIS")
| private Collection<TermProj> termProjs;
|
| public Collection<TermProj> getTermProjs() {
| return termProjs;
| }
|
| public void setTermProjs(Collection<TermProj> termProjs) {
| this.termProjs = termProjs;
| }
|
|
how you solved this problem please
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3991238#3991238
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3991238
19 years, 7 months
[JBoss jBPM] - JMS TCP connections
by turcototo
Hi.
I need to implement an async path in my process and I decided to use a JMS queue and an MDB.
In an ActionHandler I have:
[...]
| public void execute(ExecutionContext context) throws Exception {
| ...
| long tid = context.getProcessInstance().getId();
| LocalCoreManager coreManager = lookupLocalCoreManager();
| coreManager.publish(tid, messageCode);
| ...
| JbpmContext jbpmContext = context.getJbpmContext();
| jbpmContext.close();
| }
At this point my process enter the Wait State "Queued", then, asynchronously, the MDB loads the process instance and signals it.
Everything seems to work ok BUT...I've noticed that I have dozens of open TCP connections to the port 8093.
This leads to an OutOfMemoryException on Windows and to a "too many files open in system" on linux.
The code of coreManager.publish is ok because if I call the bean from inside a Junit test I can publish and the connections are correctly closed. So it appears that the problem is to publish jms messages from inside jbpm.
Do you have suggestions?
Thankyou
Salvatore
P.S. I use jboss 4.0.4GA and jbpm 3.1.2 but I've tryed also jboss 4.0.5 and jbpm 3.1.3
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3991233#3991233
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3991233
19 years, 7 months
[EJB 3.0] - Re: EntityManager is loosing updates
by konstantin.ermakov
I added Version to my data and I did not receive any new exceptions. The only exception I can see in the JBoss log file is as following:
2006-12-05 11:18:36,674 DEBUG [org.jboss.mq.il.uil2.ServerSocketManagerHandler] Exiting on IOE
java.net.SocketException: socket closed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read(BufferedInputStream.java:235)
at org.jboss.util.stream.NotifyingBufferedInputStream.read(NotifyingBufferedInputStream.java:79)
at java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2205)
at java.io.ObjectInputStream$BlockDataInputStream.readBlockHeader(ObjectInputStream.java:2385)
at java.io.ObjectInputStream$BlockDataInputStream.refill(ObjectInputStream.java:2452)
at java.io.ObjectInputStream$BlockDataInputStream.read(ObjectInputStream.java:2524)
at java.io.ObjectInputStream$BlockDataInputStream.readByte(ObjectInputStream.java:2673)
at java.io.ObjectInputStream.readByte(ObjectInputStream.java:874)
at org.jboss.mq.il.uil2.SocketManager$ReadTask.run(SocketManager.java:317)
at java.lang.Thread.run(Thread.java:595)
And I do not think, that it is somehow connected to the problem. Did anyone met this problem before?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3991229#3991229
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3991229
19 years, 7 months
[Persistence, JBoss/CMP, Hibernate, Database] - Question for the BMP experts
by tknerr
Hello,
I have a question for the BMP experts out there:
We want to realize data access to a non-standard database, thus CMP does not work and we have to write our own SQL-like code to access it. It does not support transactions.
Now, the idea was to use BMP Entity beans to realize this scenario, but then I read about the N+1 problem (http://wiki.jboss.org/wiki/Wiki.jsp?page=AvoidBMP), which makes me think that BMP is probably not a good idea and that we better use Stateless Session Beans and ValueObjects instead.
However, someone told me that there are appserver-specific configuration to tune this behaviour, i.e. avoid the N+1 problem with BMP.
So here are my questions:
1) is there a JBoss specific workaround for the N+1 problem with BMP?
- Can you point me to documentation?
2) If I consider to use BMP (even with the N+1 issue), what would be the advantage over Stateless Session Beans + ValueObjects?
- will the container give me some extra functionality which I wouldn't have with SSB + VO?
- will the container give me support for transactions (which we do not have natively) by remembering calls to ejbCreate/Remove etc. and calling them in reverse order with the same PK?
Hope you have some helpful advice for me. I'm especially curios if we could inherit some functionality from the container with the BMP approach.
Thank you and best regards,
Torben
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3991220#3991220
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3991220
19 years, 7 months
[JBoss Seam] - Re: Using textInput inside a dataTable inside a form?
by sherkan777
I have same problem but I think when U use dataTable component is submited x times (x is size of your collection).
I made some example
private String tagName;
private List tagList;
<h:dataTable var="answers" value="#{answerList}" >
<h:column>
<h:outputText id="a1" value="#{answers.answer}" escape="false"/>
<h:inputText value="#{showDetailedQuestionAction.tagName}"/>
<h:commandButton value="myButton" action="#{bbBean.action}"/>
</h:column>
</h:dataTable>
and method implemented in setter & getter for tagName;
public String getTagName() {
System.out.println("Get: " + this.tagName);
return tagName;
}
public void setTagName(String tagName) {
System.out.println("SET: " + this.tagName);
this.tagName = tagName;
}
and Result:
09:19:15,187 INFO [STDOUT] SET: null
09:19:15,203 INFO [STDOUT] SET:
09:19:15,203 INFO [STDOUT] SET:
09:19:15,203 INFO [STDOUT] SET: myInsertedString
09:19:15,203 INFO [STDOUT] Get:
09:19:15,203 INFO [STDOUT] Action method clicked
09:19:15,250 INFO [STDOUT] Get:
09:19:15,328 INFO [STDOUT] Get:
09:19:15,328 INFO [STDOUT] Get:
09:19:15,343 INFO [STDOUT] Get:
09:19:15,343 INFO [STDOUT] Get:
So, and on my final result I cant get my tagName, ony if I insert some string to last inputText.
Can anyone tell me how to get my tagName value?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3991205#3991205
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3991205
19 years, 7 months