[Installation, Configuration & DEPLOYMENT] - Critical JBoss Isssue
by milangothe
Hi,
Help will be greatly appriciated.
We have apache and Jboss with mod_jk in Linux Machine configured.
And we are connecting our application with MSSQL Server 2000 SP4 in Windows 2003 Server. And we are facing some error with these configuration they are "Connection reset" and Broken Pipe""
And i've also include some of the error code:
------------------------------------------------------------------------
Broken pipe - ERROR
-----------------------------------------------------------------------
2008-05-06 08:54:40,893 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/].[jsp]] Servlet.service() for servlet jsp threw exception
com.inet.tds.SQLException: java.net.SocketException: Broken pipe
java.net.SocketException: 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 com.inet.tds.j.a(Unknown Source)
at com.inet.tds.a.a(Unknown Source)
at com.inet.tds.b.try(Unknown Source)
at com.inet.tds.b.executeQuery(Unknown Source)
at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:211)
--------------------------------------------------------------------------------------------------------------------------
Connection resrt - ERROR
-----------------------------------------------------------------------
2008-05-06 09:32:03,635 INFO [STDOUT] com.inet.tds.SQLException: java.net.SocketException: Connection reset
2008-05-06 09:32:03,635 INFO [STDOUT] java.net.SocketException: Connection reset
2008-05-06 09:32:03,636 INFO [STDOUT] at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:96)
2008-05-06 09:32:03,636 INFO [STDOUT] at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
2008-05-06 09:32:03,636 INFO [STDOUT] at com.inet.tds.j.a(Unknown Source)
2008-05-06 09:32:03,636 INFO [STDOUT] at com.inet.tds.a.a(Unknown Source)
2008-05-06 09:32:03,636 INFO [STDOUT] at com.inet.tds.b.try(Unknown Source)
2008-05-06 09:32:03,636 INFO [STDOUT] at com.inet.tds.b.execute(Unknown Source)
2008-05-06 09:32:03,636 INFO [STDOUT] at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.execute(WrappedPreparedStatement.java:183)
----------------------------------------------------------------------------------------------------------------------------------
the above error code may help to find the solutions.
Thanks
Milan Gothe
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4149396#4149396
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4149396
17 years, 11 months
[JBoss jBPM] - Re: is it possible to force the token jump from one node to
by rossputin
Hi dleerob,
me again.. hope you can help. I put together a little test class, pretty much lifted from yours, in order to reverse a process, (go back a couple of tasks) to sort out an issue documented in another post on this forum - topic 4149385.
| protected final Log logger = LogFactory.getLog(getClass());
|
| JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
| DbPersistenceServiceFactory dbPersistenceServiceFactory = (DbPersistenceServiceFactory) jbpmConfiguration.getServiceFactory(Services.SERVICENAME_PERSISTENCE);
|
| JbpmContext jbpmContext;
|
| ProcessInstance processInstance;
|
| public ProcessRouter() {
| logger.info("Constructing ProcessRouter");
|
| // Grab a handle on to the jbpmContext
| jbpmContext = jbpmConfiguration.createJbpmContext();
| }
|
| protected void reroute (long processInstanceId, Long tokenId, String nodeName) {
| logger.info("Rerouting token : " + tokenId + ", to node : " + nodeName + " on process : " + processInstanceId);
|
| // Grab the process we want to operate on
| processInstance = jbpmContext.getProcessInstance(processInstanceId);
|
| // Grab the token we want to reroute
| Token token = jbpmContext.getToken(tokenId);
|
| // Grab the node we want to reroute to
| Node newNode = processInstance.getProcessDefinition().getNode(nodeName);
|
| logger.debug("successfully grabbed process instance : " + processInstance.getId() + ", token : " + token.getId() + " and node : " + newNode.getName());
|
| // Cancel current incomplete task instances
| logger.debug("cancelling task instances found at token : " + tokenId);
| List deleteTaskInstanceList = new ArrayList();
| //create a separate list of those task instances to delete. If deleting them
| //straight from iterator, a ConcurrentModificationException will occur when calling it.next();
| for(Iterator it = processInstance.getTaskMgmtInstance().getTaskInstances().iterator(); it.hasNext();) {
| TaskInstance taskInstance = (TaskInstance)it.next();
| if(tokenId.equals(taskInstance.getToken().getId() + "")) {
| if (taskInstance.getEnd() == null) { //not complete task
| deleteTaskInstanceList.add(taskInstance);
| }
| }
| }
|
| for (int x = 0; x < deleteTaskInstanceList.size(); x++) {
| TaskInstance taskInstance = (TaskInstance)deleteTaskInstanceList.get(x);
| //Clear local variables
| //We must clear local variables, or task instance will save variables
| //from previous instance. We must not delete them, but rather set them
| //to blank, or an exception will be thrown if the variables were
| //set to 'required' in the process definition.
| Map localVariables = taskInstance.getVariablesLocally();
| for (Iterator it = localVariables.keySet().iterator(); it.hasNext();) {
| String variableName = (String)it.next();
| taskInstance.setVariableLocally(variableName, "");
| }
|
| logger.info("cancelling task instance with ID : '"+taskInstance.getId()+"'");
| boolean overwriteSwimlane = false; //don't overwrite swimlane actor
| taskInstance.setActorId("[rerouted by pctadmin]", overwriteSwimlane);
| taskInstance.setSignalling(false);
| //Workaround to stop task-end event from firing when we cancel a task instance.
| //Remove event, cancel task instance, add event again
| Task task = taskInstance.getTask();
| Event endTaskEvent = task.getEvent(Event.EVENTTYPE_TASK_END);
| if (endTaskEvent != null) {
| task.removeEvent(endTaskEvent);
| }
| taskInstance.cancel();
| if (endTaskEvent != null) {
| task.addEvent(endTaskEvent);
| }
| }
|
| // Perform the reroute step
| newNode.enter(new ExecutionContext(token));
|
| logger.info("Token with ID : " + token.getId() + " was rerouted to node : " + nodeName);
|
| // Perform some tidying up
| jbpmContext.close();
| dbPersistenceServiceFactory.dropSchema();
| jbpmContext = null;
| }
|
| public static void main (String args[]) {
| // Create a ProcessRouter
| ProcessRouter pRouter = new ProcessRouter();
|
| // For now hardcode the parameters in the main method
| long processInstanceId = 787;
| Long tokenId = new Long(920);
| String nodeName = "sm allocate dm";
|
| pRouter.reroute(processInstanceId, tokenId, nodeName);
| }
|
This code is running from Eclipse, talking to mysql 5, version 3.2.1 of the JBPM. It seems to more or less do what I expect, generating the node requested, however, I seem to lose several of my tables sometimes when I run it. I lost jbpm_taskinstance on one occasion, jbpm_id_user on another, and several others.
My hibernate.cfg.xml used locally within the project is listed below.
| <?xml version='1.0' encoding='utf-8'?>
|
| <!DOCTYPE hibernate-configuration PUBLIC
| "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
| "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
|
| <hibernate-configuration>
| <session-factory>
|
| <!-- hibernate dialect -->
| <property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
|
| <!-- JDBC connection properties (begin) ===-->
| <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
| <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/jbpmtest</property>
| <property name="hibernate.connection.username">someuser</property>
| <property name="hibernate.connection.password">somepassword</property>
| <!--==== JDBC connection properties (end) -->
|
| <property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
|
| <!-- DataSource properties (begin)
| <property name="hibernate.connection.datasource">java:/JbpmDS</property>
| DataSource properties (end) -->
|
| <!-- JTA transaction properties (begin) === -->
| <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
| <!--<property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>-->
| <!--==== JTA transaction properties (end) -->
|
| <!-- CMT transaction properties (begin) ===
| <property name="hibernate.transaction.factory_class">org.hibernate.transaction.CMTTransactionFactory</property>
| <property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>
| ==== CMT transaction properties (end) -->
|
| <!-- logging properties (begin) ===
| <property name="hibernate.show_sql">true</property>
| <property name="hibernate.format_sql">true</property>
| <property name="hibernate.use_sql_comments">true</property>
| ==== logging properties (end) -->
|
| <!-- ############################################ -->
| <!-- # mapping files with external dependencies # -->
| <!-- ############################################ -->
|
| <!-- following mapping file has a dependendy on -->
| <!-- 'bsh-{version}.jar'. -->
| <!-- uncomment this if you don't have bsh on your -->
| <!-- classpath. you won't be able to use the -->
| <!-- script element in process definition files -->
| <mapping resource="org/jbpm/graph/action/Script.hbm.xml"/>
|
| <!-- following mapping files have a dependendy on -->
| <!-- 'jbpm-identity.jar', mapping files -->
| <!-- of the pluggable jbpm identity component. -->
| <!-- Uncomment the following 3 lines if you -->
| <!-- want to use the jBPM identity mgmgt -->
| <!-- component. -->
| <!-- identity mappings (begin) -->
| <mapping resource="org/jbpm/identity/User.hbm.xml"/>
| <mapping resource="org/jbpm/identity/Group.hbm.xml"/>
| <mapping resource="org/jbpm/identity/Membership.hbm.xml"/>
| <!-- identity mappings (end) -->
|
| <!-- following mapping files have a dependendy on -->
| <!-- the JCR API -->
| <!-- jcr mappings (begin) ===
| <mapping resource="org/jbpm/context/exe/variableinstance/JcrNodeInstance.hbm.xml"/>
| ==== jcr mappings (end) -->
|
|
| <!-- ###################### -->
| <!-- # jbpm mapping files # -->
| <!-- ###################### -->
|
| <!-- hql queries and type defs -->
| <mapping resource="org/jbpm/db/hibernate.queries.hbm.xml" />
|
| <!-- graph.action mapping files -->
| <mapping resource="org/jbpm/graph/action/MailAction.hbm.xml"/>
|
| <!-- graph.def mapping files -->
| <mapping resource="org/jbpm/graph/def/ProcessDefinition.hbm.xml"/>
| <mapping resource="org/jbpm/graph/def/Node.hbm.xml"/>
| <mapping resource="org/jbpm/graph/def/Transition.hbm.xml"/>
| <mapping resource="org/jbpm/graph/def/Event.hbm.xml"/>
| <mapping resource="org/jbpm/graph/def/Action.hbm.xml"/>
| <mapping resource="org/jbpm/graph/def/SuperState.hbm.xml"/>
| <mapping resource="org/jbpm/graph/def/ExceptionHandler.hbm.xml"/>
| <mapping resource="org/jbpm/instantiation/Delegation.hbm.xml"/>
|
| <!-- graph.node mapping files -->
| <mapping resource="org/jbpm/graph/node/StartState.hbm.xml"/>
| <mapping resource="org/jbpm/graph/node/EndState.hbm.xml"/>
| <mapping resource="org/jbpm/graph/node/ProcessState.hbm.xml"/>
| <mapping resource="org/jbpm/graph/node/Decision.hbm.xml"/>
| <mapping resource="org/jbpm/graph/node/Fork.hbm.xml"/>
| <mapping resource="org/jbpm/graph/node/Join.hbm.xml"/>
| <mapping resource="org/jbpm/graph/node/MailNode.hbm.xml"/>
| <mapping resource="org/jbpm/graph/node/State.hbm.xml"/>
| <mapping resource="org/jbpm/graph/node/TaskNode.hbm.xml"/>
|
| <!-- context.def mapping files -->
| <mapping resource="org/jbpm/context/def/ContextDefinition.hbm.xml"/>
| <mapping resource="org/jbpm/context/def/VariableAccess.hbm.xml"/>
|
| <!-- taskmgmt.def mapping files -->
| <mapping resource="org/jbpm/taskmgmt/def/TaskMgmtDefinition.hbm.xml"/>
| <mapping resource="org/jbpm/taskmgmt/def/Swimlane.hbm.xml"/>
| <mapping resource="org/jbpm/taskmgmt/def/Task.hbm.xml"/>
| <mapping resource="org/jbpm/taskmgmt/def/TaskController.hbm.xml"/>
|
| <!-- module.def mapping files -->
| <mapping resource="org/jbpm/module/def/ModuleDefinition.hbm.xml"/>
|
| <!-- bytes mapping files -->
| <mapping resource="org/jbpm/bytes/ByteArray.hbm.xml"/>
|
| <!-- file.def mapping files -->
| <mapping resource="org/jbpm/file/def/FileDefinition.hbm.xml"/>
|
| <!-- scheduler.def mapping files -->
| <mapping resource="org/jbpm/scheduler/def/CreateTimerAction.hbm.xml"/>
| <mapping resource="org/jbpm/scheduler/def/CancelTimerAction.hbm.xml"/>
|
| <!-- graph.exe mapping files -->
| <mapping resource="org/jbpm/graph/exe/Comment.hbm.xml"/>
| <mapping resource="org/jbpm/graph/exe/ProcessInstance.hbm.xml"/>
| <mapping resource="org/jbpm/graph/exe/Token.hbm.xml"/>
| <mapping resource="org/jbpm/graph/exe/RuntimeAction.hbm.xml"/>
|
| <!-- module.exe mapping files -->
| <mapping resource="org/jbpm/module/exe/ModuleInstance.hbm.xml"/>
|
| <!-- context.exe mapping files -->
| <mapping resource="org/jbpm/context/exe/ContextInstance.hbm.xml"/>
| <mapping resource="org/jbpm/context/exe/TokenVariableMap.hbm.xml"/>
| <mapping resource="org/jbpm/context/exe/VariableInstance.hbm.xml"/>
| <mapping resource="org/jbpm/context/exe/variableinstance/ByteArrayInstance.hbm.xml"/>
| <mapping resource="org/jbpm/context/exe/variableinstance/DateInstance.hbm.xml"/>
| <mapping resource="org/jbpm/context/exe/variableinstance/DoubleInstance.hbm.xml"/>
| <mapping resource="org/jbpm/context/exe/variableinstance/HibernateLongInstance.hbm.xml"/>
| <mapping resource="org/jbpm/context/exe/variableinstance/HibernateStringInstance.hbm.xml"/>
| <mapping resource="org/jbpm/context/exe/variableinstance/LongInstance.hbm.xml"/>
| <mapping resource="org/jbpm/context/exe/variableinstance/NullInstance.hbm.xml"/>
| <mapping resource="org/jbpm/context/exe/variableinstance/StringInstance.hbm.xml"/>
|
| <!-- job mapping files -->
| <mapping resource="org/jbpm/job/Job.hbm.xml"/>
| <mapping resource="org/jbpm/job/Timer.hbm.xml"/>
| <mapping resource="org/jbpm/job/ExecuteNodeJob.hbm.xml"/>
| <mapping resource="org/jbpm/job/ExecuteActionJob.hbm.xml"/>
|
| <!-- taskmgmt.exe mapping files -->
| <mapping resource="org/jbpm/taskmgmt/exe/TaskMgmtInstance.hbm.xml"/>
| <mapping resource="org/jbpm/taskmgmt/exe/TaskInstance.hbm.xml"/>
| <mapping resource="org/jbpm/taskmgmt/exe/PooledActor.hbm.xml"/>
| <mapping resource="org/jbpm/taskmgmt/exe/SwimlaneInstance.hbm.xml"/>
|
| <!-- logging mapping files -->
| <mapping resource="org/jbpm/logging/log/ProcessLog.hbm.xml"/>
| <mapping resource="org/jbpm/logging/log/MessageLog.hbm.xml"/>
| <mapping resource="org/jbpm/logging/log/CompositeLog.hbm.xml"/>
| <mapping resource="org/jbpm/graph/log/ActionLog.hbm.xml"/>
| <mapping resource="org/jbpm/graph/log/NodeLog.hbm.xml"/>
| <mapping resource="org/jbpm/graph/log/ProcessInstanceCreateLog.hbm.xml"/>
| <mapping resource="org/jbpm/graph/log/ProcessInstanceEndLog.hbm.xml"/>
| <mapping resource="org/jbpm/graph/log/ProcessStateLog.hbm.xml"/>
| <mapping resource="org/jbpm/graph/log/SignalLog.hbm.xml"/>
| <mapping resource="org/jbpm/graph/log/TokenCreateLog.hbm.xml"/>
| <mapping resource="org/jbpm/graph/log/TokenEndLog.hbm.xml"/>
| <mapping resource="org/jbpm/graph/log/TransitionLog.hbm.xml"/>
| <mapping resource="org/jbpm/context/log/VariableLog.hbm.xml"/>
| <mapping resource="org/jbpm/context/log/VariableCreateLog.hbm.xml"/>
| <mapping resource="org/jbpm/context/log/VariableDeleteLog.hbm.xml"/>
| <mapping resource="org/jbpm/context/log/VariableUpdateLog.hbm.xml"/>
| <mapping resource="org/jbpm/context/log/variableinstance/ByteArrayUpdateLog.hbm.xml"/>
| <mapping resource="org/jbpm/context/log/variableinstance/DateUpdateLog.hbm.xml"/>
| <mapping resource="org/jbpm/context/log/variableinstance/DoubleUpdateLog.hbm.xml"/>
| <mapping resource="org/jbpm/context/log/variableinstance/HibernateLongUpdateLog.hbm.xml"/>
| <mapping resource="org/jbpm/context/log/variableinstance/HibernateStringUpdateLog.hbm.xml"/>
| <mapping resource="org/jbpm/context/log/variableinstance/LongUpdateLog.hbm.xml"/>
| <mapping resource="org/jbpm/context/log/variableinstance/StringUpdateLog.hbm.xml"/>
| <mapping resource="org/jbpm/taskmgmt/log/TaskLog.hbm.xml"/>
| <mapping resource="org/jbpm/taskmgmt/log/TaskCreateLog.hbm.xml"/>
| <mapping resource="org/jbpm/taskmgmt/log/TaskAssignLog.hbm.xml"/>
| <mapping resource="org/jbpm/taskmgmt/log/TaskEndLog.hbm.xml"/>
| <mapping resource="org/jbpm/taskmgmt/log/SwimlaneLog.hbm.xml"/>
| <mapping resource="org/jbpm/taskmgmt/log/SwimlaneCreateLog.hbm.xml"/>
| <mapping resource="org/jbpm/taskmgmt/log/SwimlaneAssignLog.hbm.xml"/>
|
| <!-- Custom Task -->
| <mapping resource="com/somepackage/workflow/taskinstance/CustomTaskInstance.hbm.xml"/>
|
| </session-factory>
| </hibernate-configuration>
|
I feel I am close to being able to move backwards within the process, but unfortunately parts of the database are destroyed in the process. I suppose I am missing something glaringly obvious here. Do you have any ideas?
Thanks in advance for your help,
regards
Ross
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4149389#4149389
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4149389
17 years, 11 months