[JBoss JIRA] Created: (JBESB-207) Add a Transformation Resource Search wizard to the ESB Admin Console
by Tom Fennelly (JIRA)
Add a Transformation Resource Search wizard to the ESB Admin Console
--------------------------------------------------------------------
Key: JBESB-207
URL: http://jira.jboss.com/jira/browse/JBESB-207
Project: JBoss ESB
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Components: Transformation Service
Affects Versions: 4.0
Reporter: Tom Fennelly
Assigned To: Tom Fennelly
Fix For: 4.0
Should be able to serach based on a combination of the following criteria:
1. Message Source EPR
2. Message Destination EPR
3. Message data type
The search results should list the resources targeted at the message flow search criteria. This should give the user a picture of the transformations that will be applied to a message of the specified type while being routed from the source to destination Service (EPR).
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
19 years, 6 months
[JBoss JIRA] Created: (JBREM-618) Support CallbackPoller configuration.
by Ron Sigal (JIRA)
Support CallbackPoller configuration.
-------------------------------------
Key: JBREM-618
URL: http://jira.jboss.com/jira/browse/JBREM-618
Project: JBoss Remoting
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Affects Versions: 2.2.0.Beta1 (Bluto)
Reporter: Ron Sigal
Assigned To: Ron Sigal
Priority: Minor
Fix For: 2.2.0.Beta1 (Bluto)
JBREM-617 suggests CallbackPoller needs its own time thread. It can be scheduled by Timer.scheduleAtFixedRate() or Timer.schedule(). This choice could be made available to the application. Also, it would be useful to log the number of callbacks arriving at each polling round, the number of callbacks waiting to be processed, and the number of callbacks waiting to be acknowledged. These statistics could help an application determine an appropriate polling frequency.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
19 years, 6 months
[JBoss JIRA] Created: (JBCOMMON-8) Port MarshalledValueIn(Out)putStream from aop
by Brian Stansberry (JIRA)
Port MarshalledValueIn(Out)putStream from aop
---------------------------------------------
Key: JBCOMMON-8
URL: http://jira.jboss.com/jira/browse/JBCOMMON-8
Project: JBoss Common
Issue Type: Task
Security Level: Public (Everyone can see)
Components: core
Reporter: Brian Stansberry
Assigned To: Brian Stansberry
Fix For: 2.0.0.Beta
A copy of AS/aop's MarshalledValueInputStream and MarshalledValueOutputStream should be added to common-core/org.jboss.util.stream. These are prettyy straightforward extensions of the j2se ObjectStreams with only j2se dependencies. Once a version of common with this in it is released, the other projects that use it can be converted. Usages I'm aware of are:
AS via its version in the server module
AOP via its own version
JBoss Cache via dependency on the AS's jboss-minimal.jar
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
19 years, 6 months
[JBoss JIRA] Created: (JBPM-757) Constraint violation during process deletion
by Dave Caruana (JIRA)
Constraint violation during process deletion
--------------------------------------------
Key: JBPM-757
URL: http://jira.jboss.com/jira/browse/JBPM-757
Project: JBoss jBPM
Issue Type: Bug
Components: Core Engine
Affects Versions: jBPM 3.1.2
Environment: Windows XP, Java 5, MySQL & HSQL.
Reporter: Dave Caruana
Assigned To: Tom Baeyens
It's taken a while to pinpoint the exact use-case, however the following test case reproduces the issue. I don't believe I'm incorrectly using jPDL.
The process has a start task with a task controller that writes a variable (named var1) back to the process. Note, the process does not have var1 to start with. Then, a local variable 'var1' is set on the start task instance and the task is ended.
Please note, at this point, there are VariableInstances persisted without an associated token, tokenvarmap, taskinstance or processinstance. That's potentially another side-issue, but not core to this particular deletion issue.
The second task 'step2Task' is created (no task controller associated with it). Now, a new local variable 'var1' is set against this task instance. The task is ended.
At this point, the process is deleted. However, it fails with a constraint violation (from FK_VARINST_TKVARMP, in the table "JBPM_VARIABLEINSTANCE" reported in MySQL) or a general exception (reported in HSQL).
Some digging reveals that when the step2Task task instance is ended, all local variables are pushed back to the process. However, the process already has a var1 as written explicitly by the task controller of the start task. It seems in TaskInstance.submitVariables, the process var1 is not deleted before the task local variable replaces process variable in the process token variable map.
The following test case demonstrates the issue with the default jbpm configuration files.
import java.util.List;
import junit.framework.TestCase;
import org.jbpm.JbpmConfiguration;
import org.jbpm.JbpmContext;
import org.jbpm.db.GraphSession;
import org.jbpm.db.TaskMgmtSession;
import org.jbpm.graph.def.ProcessDefinition;
import org.jbpm.graph.exe.ProcessInstance;
import org.jbpm.graph.exe.Token;
import org.jbpm.taskmgmt.exe.TaskInstance;
public class JBPMDeleteProcessTest extends TestCase {
static JbpmConfiguration jbpmConfiguration = null;
static long processId = -1L;
static String currentTokenPath = null;
static {
jbpmConfiguration = JbpmConfiguration.parseXmlString(
"<jbpm-configuration>" +
" <jbpm-context>" +
" <service name='persistence' " +
" factory='org.jbpm.persistence.db.DbPersistenceServiceFactory' />" +
" </jbpm-context>" +
" <string name='resource.hibernate.cfg.xml' " +
" value='hibernate.cfg.xml' />" +
" <string name='resource.business.calendar' " +
" value='org/jbpm/calendar/jbpm.business.calendar.properties' />" +
" <string name='resource.default.modules' " +
" value='org/jbpm/graph/def/jbpm.default.modules.properties' />" +
" <string name='resource.converter' " +
" value='org/jbpm/db/hibernate/jbpm.converter.properties' />" +
" <string name='resource.action.types' " +
" value='org/jbpm/graph/action/action.types.xml' />" +
" <string name='resource.node.types' " +
" value='org/jbpm/graph/node/node.types.xml' />" +
" <string name='resource.varmapping' " +
" value='org/jbpm/context/exe/jbpm.varmapping.xml' />" +
"</jbpm-configuration>"
);
}
public void setUp() {
jbpmConfiguration.createSchema();
}
public void tearDown() {
jbpmConfiguration.dropSchema();
}
public void testDelete() {
deployProcessDefinition();
startProcess();
step2TaskEnd();
deleteProcess();
}
public void deployProcessDefinition() {
ProcessDefinition processDefinition = ProcessDefinition.parseXmlString
(
"<process-definition name='deletetest'>" +
" <start-state name='start'> " +
" <task name='startTask'> " +
" <controller> " +
" <variable name='var1' access='write'/> " +
" </controller> " +
" </task> " +
" <transition name='' to='step2'/> " +
" </start-state> " +
" <task-node name='step2'> " +
" <task name='step2Task'/> " +
" <transition name='' to='step3'/> " +
" </task-node>" +
" <task-node name='step3'> " +
" <task name='step3Task'/> " +
" <transition name='' to='end'/> " +
" </task-node> " +
" <end-state name='end' />" +
"</process-definition>"
);
JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
try {
jbpmContext.deployProcessDefinition(processDefinition);
} finally {
jbpmContext.close();
}
}
public void startProcess() {
JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
try {
GraphSession graphSession = jbpmContext.getGraphSession();
ProcessDefinition processDefinition = graphSession.findLatestProcessDefinition("deletetest");
ProcessInstance processInstance = new ProcessInstance(processDefinition);
processId = processInstance.getId();
TaskInstance taskInstance = processInstance.getTaskMgmtInstance().createStartTaskInstance();
taskInstance.setVariableLocally("var1", "var1Value");
taskInstance.end();
Token token = taskInstance.getToken();
currentTokenPath = token.getFullName();
jbpmContext.save(processInstance);
} finally {
jbpmContext.close();
}
}
public void step2TaskEnd() {
JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
try {
GraphSession graphSession = jbpmContext.getGraphSession();
ProcessInstance processInstance = graphSession.loadProcessInstance(processId);
Token token = processInstance.findToken(currentTokenPath);
TaskMgmtSession taskSession = jbpmContext.getTaskMgmtSession();
List tasks = taskSession.findTaskInstancesByToken(token.getId());
TaskInstance taskInstance = (TaskInstance)tasks.get(0);
//
// comment out the following line and it works
//
taskInstance.setVariableLocally("var1", "var1TaskValue");
taskInstance.setVariableLocally("var2", "var2UpdatedValue");
taskInstance.end();
token = taskInstance.getToken();
currentTokenPath = token.getFullName();
jbpmContext.save(processInstance);
} finally {
jbpmContext.close();
}
}
public void deleteProcess()
{
JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
try {
GraphSession graphSession = jbpmContext.getGraphSession();
ProcessInstance processInstance = graphSession.loadProcessInstance(processId);
graphSession.deleteProcessInstance(processInstance, true, true, true);
//jbpmContext.save(processInstance);
} finally {
jbpmContext.close();
}
}
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
19 years, 6 months
[JBoss JIRA] Created: (JBPM-759) Hibernate variable type matchers do not deal HibernateProxy objects.
by Travis Klotz (JIRA)
Hibernate variable type matchers do not deal HibernateProxy objects.
--------------------------------------------------------------------
Key: JBPM-759
URL: http://jira.jboss.com/jira/browse/JBPM-759
Project: JBoss jBPM
Issue Type: Bug
Components: Core Engine
Affects Versions: jBPM 3.1.2
Reporter: Travis Klotz
Assigned To: Tom Baeyens
The hibernate type matchers(HibernateLongIdMatcher, HibernateStringIdMatcher) do not match against persistant objects that are wrapped in hibernate generated proxies.
For example, if I have a User class registered with hibernate, and I try to store a lazily instantiated User object as a context variable in jBPM, The class of the User instance is not User, its something like User$$EnhancedByCGLIB$$12345. When the hibernate type matchers try to match against this class, they do so by checking the hibernate session factory for any metadata about the argument. But the session factory does not know anything about User$$EnhancedByCGLIB$$12345, only User, which results in a no match.
I solved this localy by extending the type matchers and explicitly checking the argument for the HibernateProxy interface. If I found it, I ran the rest of the checks against the super class of the argument.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
19 years, 6 months
[JBoss JIRA] Created: (JBPM-760) Add indexes to foreign keys where appropriate
by Jeff DeLong (JIRA)
Add indexes to foreign keys where appropriate
---------------------------------------------
Key: JBPM-760
URL: http://jira.jboss.com/jira/browse/JBPM-760
Project: JBoss jBPM
Issue Type: Feature Request
Components: Core Engine
Affects Versions: jBPM 3.2
Reporter: Jeff DeLong
Assigned To: Tom Baeyens
create index IDX_MODDEF_PROCDEF on JBPM_MODULEDEFINITION (PROCESSDEFINITION_);
create index IDX_MODINST_PRCINST on JBPM_MODULEINSTANCE (PROCESSINSTANCE_);
create index IDX_NODE_ACTION on JBPM_NODE (ACTION_);
create index IDX_PROCIN_ROOTTKN on JBPM_PROCESSINSTANCE (ROOTTOKEN_);
create index IDX_TASK_TASKNODE on JBPM_TASK (TASKNODE_);
create index IDX_TSK_TSKCTRL on JBPM_TASK (TASKCONTROLLER_);
create index IDX_TASK_TASKMGTDEF on JBPM_TASK (TASKMGMTDEFINITION_);
create index IDX_TASKINST_TASK on JBPM_TASKINSTANCE (TASK_, TOKEN_);
create index IDX_TASKINST_TMINST on JBPM_TASKINSTANCE (TASKMGMTINSTANCE_);
create index IDX_TOKEN_NODE on JBPM_TOKEN (NODE_);
create index IDX_TOKEN_PROCINST on JBPM_TOKEN (PROCESSINSTANCE_);
create index IDX_TOKEN_PARENT on JBPM_TOKEN (PARENT_);
create index IDX_TKVARMAP_CTXT on JBPM_TOKENVARIABLEMAP (CONTEXTINSTANCE_);
create index IDX_TKVARMAP_TOKEN on JBPM_TOKENVARIABLEMAP (TOKEN_);
create index IDX_VARINST_TKVARMP on JBPM_VARIABLEINSTANCE (TOKENVARIABLEMAP_);
create index IDX_VARINST_PRCINST on JBPM_VARIABLEINSTANCE (PROCESSINSTANCE_);
create index IDX_VARINST_TK on JBPM_VARIABLEINSTANCE (TOKEN_);
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
19 years, 6 months