[JBoss JIRA] Created: (JBESB-3229) org.jboss.soa.esb.actions.Aggregator class does not forward the message id and service id received from the router.
by Mohit Mohta (JIRA)
org.jboss.soa.esb.actions.Aggregator class does not forward the message id and service id received from the router.
-------------------------------------------------------------------------------------------------------------------
Key: JBESB-3229
URL: https://jira.jboss.org/jira/browse/JBESB-3229
Project: JBoss ESB
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: 4.4 CP3
Environment: Windows 7
Reporter: Mohit Mohta
Fix For: 4.4 CP4
Hi,
I have faced an issue that while using the org.jboss.soa.esb.actions.Aggregator class in my project i was getting an Null pointer exception in the MQMessage Router saying that it is not getting the message id and service name recevied from the message kept on the queue.
To find out this i opened the org.jboss.soa.esb.actions.Aggregator.java in the src folder,where i found that in process method it creates a new message from the Message factory through a private Method createAggregateMessage(aggrDetails.getSeriesUuid(), messageMap).In this private method it is creating a new message without setting the message id and service name recevied from the original message.Like this.
public Message createAggregateMessage(String uuId, Map<Integer, Message> messageMap) throws ActionProcessingException {
// Create an aggregated message
Message aggregatedMessage = MessageFactory.getInstance().getMessage();// Here creatng a new message without setting the previous message id.
//Push additional AggregatorTags onto the new message, so we can aggregate in case of nested splits.
//Only need to get it from the first message, should be the same for the others.
List<String> aggregatedMessageTags = copyAggregationTags(messageMap);
setAggregatorTags(aggregatedMessage, aggregatedMessageTags);
for (Message attachmentMessage : messageMap.values()) {
//Add the individual messages as attachments
try {
// Clear the aggregation tags from the attachment message. Any future aggregation
// on the payload of these messages should be done within the context of the
// outer/aggregated message and it's tags.
setAggregatorTags(attachmentMessage, null);
aggregatedMessage.getAttachment().addItem(Util.serialize(attachmentMessage));
} catch (ParserConfigurationException e) {
throw new ActionProcessingException("Message attachment serialization failure", e);
} catch (IOException e) {
throw new ActionProcessingException("Message attachment serialization failure", e);
}
}
synchronized (aggregatedMessageMap)
{
aggregatedMessageMap.remove(uuId);
}
//TODO remove messageMap from permanent storage, or do that per message in the loop above using value of the aggregatorTag
//remove from the notificationMap if it is in there.
return aggregatedMessage;
}
So what i did i explicitly passed the message id and service name to the newly created message.like this.
String serviceName = message.getProperties().getProperty("serviceName").toString();
String MessageId = message.getProperties().getProperty("mqMessageId").toString(); // Details from the prevoius message.
Then passed this to the new message.like this
message = createAggregateMessage(aggrDetails.getSeriesUuid(), messageMap);
message.getProperties().setProperty("mqMessageId", MessageId);
message.getProperties().setProperty("serviceName", serviceName);
After this my problem of getting Null Pointer exceptiongot resolved.
Request to the person to resolve this issue/bug with Aggregator class.
Regards
Mohit
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 1 month
[JBoss JIRA] Closed: (JBESB-443) Improve XSLT support and performance
by Tom Fennelly (JIRA)
[ https://jira.jboss.org/jira/browse/JBESB-443?page=com.atlassian.jira.plug... ]
Tom Fennelly closed JBESB-443.
------------------------------
Resolution: Out of Date
The ESB now has standalone XSLT support + performance of Smooks XSLT has been dramatically increased for the "default" XSLT use case i.e. where you just have a single XSLT in the smooks config, targeted at the whole document (i.e. not an internal fragment).
> Improve XSLT support and performance
> ------------------------------------
>
> Key: JBESB-443
> URL: https://jira.jboss.org/jira/browse/JBESB-443
> Project: JBoss ESB
> Issue Type: Feature Request
> Security Level: Public(Everyone can see)
> Components: Transformation Service
> Reporter: Mark Little
> Assignee: Tom Fennelly
> Priority: Critical
> Fix For: 5.0 Milestone Release 1
>
>
> Customers still want XSLT transformation support. Although Smooks supports XSLT, it may impose an overhead on some transformations versus native XSLT support. We need to see what the overhead is (if any) and maybe add native XSLT support within the ESB transformation service (a separate service implementation).
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 1 month