Guide - IOM 2.9 Migration of Business Processes

Product Version

2.9

Product To Version

2.9
Status

final

1 Introduction

With version 2.9, the business process implementations were removed from the logic module and are integrated into the process application. This means that all PTBeans (Process Tasks) and PCs (Process Controllers) are no longer available with the logic-common module.

For this reason, adjustments in customer projects may be necessary.

2 Migrations

2.1 MessageProducerPT (removed)

MessageProducerPT is used to send a JMS message. Use MessagingService instead.

  1. The MessagingService is provided by bakery.logic-common, but you can add the maven dependency for oms.messaging to your pom.xml if necessary.

    pom.xml
    <dependency>
    	<groupId>oms.messaging</groupId>
    	<artifactId>oms.messaging-api</artifactId>
    </dependency>
  2. Replace MessageProducerPT implementations.

    old
    ...
    
    
    	@EJB
    	private MessageProducerPT messageProducer;
    
    
    ...
    
    	try {
    		this.messageProducer.sendTextMessage( ProcessDefDO.CHECKORDERQUEUE.getQueueName(), "id", String.valueOf( orderDO.getId() ) );
    	...
    
    ...
    new
    ...
    
    
    	@EJB(lookup = MessagingService.MESSAGING_BEAN_JNDI_LOOKUP_NAME)
       	private MessagingService jmsService;
    
    
    ...
    
    
    	try {
            this.messagingService.sendTextMessage(ProcessDefDO.CHECKORDERQUEUE.getQueueName(), "id", orderDO.getId().toString());
        } catch (JMSException e) {
            log.warn("JMS message could not be delivered: " + e.getMessage());
        }
    
    
    ...

2.2 Process Tasks (PTBeans)

All Process Tasks are using the interface bakery.logic.service.controller.Executable now.

Example:

old
...


@Stateless
public class ValidateProcessPTBean implements ValidateProcessPT{


	...


	@Override
	public ProcessContainer execute( ProcessContainer container ) throws DatabaseException, InactiveProcessException, NoObjectException {


	...


...


new
...


@Stateless
public class ValidateProcessPTBean implements Executable {


	...


	@Override
	public ProcessContainer execute( ProcessContainer container ) throws DatabaseException, InactiveProcessException, NoObjectException {


	...


...

Disclaimer

The information provided in the Knowledge Base may not be applicable to all systems and situations. Intershop Communications will not be liable to any party for any direct or indirect damages resulting from the use of the Customer Support section of the Intershop Corporate Web site, including, without limitation, any lost profits, business interruption, loss of programs or other data on your information handling system.

Customer Support
Knowledge Base
Product Resources
Support Tickets