Bug 1049275 - Initiator unknown for a process instance started via JMS remote API
Summary: Initiator unknown for a process instance started via JMS remote API
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: JBoss BPMS Platform 6
Classification: Retired
Component: Business Central
Version: 6.0.0
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ER1
: 6.0.1
Assignee: Marco Rietveld
QA Contact: Ivo Bek
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-01-07 10:26 UTC by Ivo Bek
Modified: 2016-09-20 05:05 UTC (History)
6 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2014-02-27 11:04:43 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Ivo Bek 2014-01-07 10:26:22 UTC
Description of problem:

When I start any process via JMS API and look into Business central Process Instances view, the initiator of the process instance is unknown.

For REST API the initiator is set correctly. It happens with my own JMS client and also with Jbpm remote JMS client created by RemoteJmsRuntimeEngineFactory. Of course, I use userid and password via this constructor 
RemoteJmsRuntimeEngineFactory(deploymentId, connectionFactory, sessionQueue, taskQueue, responseQueue, userId, password, 5 * 1000)

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1. Start any process via JMS API
2. Open Process Instances view in Business central
3. See the initiator of the process instance is unknown

Actual results:


Expected results:


Additional info:

Comment 1 Marco Rietveld 2014-01-08 14:37:40 UTC
Please add a test! Thanks.

Comment 4 Lukáš Petrovický 2014-02-07 16:19:28 UTC
This no longer has a target release of 6.0.0.

Comment 6 Ivo Bek 2014-02-19 16:14:41 UTC
And here is part of server log to see the changes are there and the backup identity bean contains "null"/unknown user:

15:03:14,456 DEBUG [org.kie.services.remote.jms.RequestMessageBean] (Thread-4 (HornetQ-client-global-threads-888418442)) Added classes from org.jboss:integration:1.2.0-SNAPSHOT to serialization context.
15:03:14,525 DEBUG [org.kie.services.remote.jms.RequestMessageBean] (Thread-4 (HornetQ-client-global-threads-888418442)) Creating identity provider for user: null
15:03:14,527 DEBUG [org.kie.services.remote.jms.RequestMessageBean] (Thread-4 (HornetQ-client-global-threads-888418442)) Producing backup identity bean for user: unknown
15:03:14,530 INFO  [stdout] (Thread-4 (HornetQ-client-global-threads-888418442)) type = java.lang.Long
15:03:14,683 DEBUG [org.kie.services.remote.jms.RequestMessageBean] (Thread-1 (HornetQ-client-global-threads-888418442)) Added classes from org.jboss:integration:1.2.0-SNAPSHOT to serialization context.
15:03:14,745 DEBUG [org.kie.services.remote.jms.RequestMessageBean] (Thread-1 (HornetQ-client-global-threads-888418442)) Creating identity provider for user: null

Comment 7 Marco Rietveld 2014-02-26 11:13:12 UTC
Ivo, what version of BPMS did you test this with (on feb 19th)? 

Maciej recently made changes to code that has to do with this.

Comment 8 Ivo Bek 2014-02-26 12:02:27 UTC
I tested it in BPMS 6.0.1.ER1.

I have just noticed that initiator is unknown also when I call a subprocess (via REST API where it ). Is the behavior correct or the initiator should be the same as for the parent process?

Comment 9 Maciej Swiderski 2014-02-26 19:09:09 UTC
Ivo,

I believe you're not setting user on the JaxbCommandsRequest that is required to properly set user when performing operations. As you can see here: https://github.com/droolsjbpm/droolsjbpm-integration/blob/6.0.x/kie-remote/kie-services-client/src/main/java/org/kie/services/client/api/command/AbstractRemoteCommandObject.java#L178

user is automatically set for JMS operations when using kid-remote-client and same should be applied when constructing JaxbCommandsRequest object manually.

Could you please check if that is the case?

Comment 10 Ivo Bek 2014-02-27 11:04:43 UTC
As we discussed with Maciej, I agreed with him that JMS API is designed to be more flexible for system to system integrations, so it is intended to be able to set an initiator as it is needed and the initiator can be different to a requester.

SetUser method in JaxbCommandsRequest works exactly as Maciej said in the comment 9 above.

Comment 11 joao pereira 2014-05-20 13:16:47 UTC
Using 6.0.1.Final, this still verifies. Using JMS, even using setUser in the request, the initiator is set to "unkonw"

Comment 12 Marco Rietveld 2014-05-21 10:33:06 UTC
For future reference: 

This has been fixed in 6.0.2.Final, with the introduction of SSL enabled JMS queues in order to send the appropriate login information for the intiator.

Comment 13 joao pereira 2014-05-21 10:37:57 UTC
Hi Marco, 

Can you point me some documentation to correctly configure SSL JMS Queues? Also where we can find the 6.0.2.Final, as I only found the 6.0.1.Final.

Thanks

Comment 14 Marco Rietveld 2014-06-24 19:17:37 UTC
This bug only applies to BPMS. 
See http://www.jboss.org/products/bpmsuite/overview/

BPMS 6.0.2 has not been released yet.


Note You need to log in before you can comment on or make changes to this bug.