Hello.

I have custom code for Servicemix 3.2.2 and want to change Servicemix to
version 3.3. Doing so I get following compilation error within a java bean.
Does anyone can help me in this issue?
I have already changed the jbi-maven-plugin-version in ServiceAssemblies
pom.xml's the way you can watch below. 
I don't know where the org.apache.servicemix.client.ServiceMixClient is
located in the new Servicemix and how the call 
this.archive = this.client.createDestination(ARCHIVE_ENDPOINT);
should point to or should look like.

Below you'll find the compilation error, the code to be compilated and the
Maven pom.xml.

Thank you really for help!

Compilation error:
======================================
======================================
======================================
[INFO] Compiling 2 source files to D:\Eigene
Dateien\MMS\Demandware\Dev\2.6.4\workspace\ESB_tenants\Sources\SM_Order\SM_Order_BeanServices\..\..\build
\SPSI\SM_Order_BeanServices\classes
[INFO]
------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO]
------------------------------------------------------------------------
[INFO] Compilation failure

D:\Eigene
Dateien\MMS\Demandware\Dev\2.6.4\workspace\ESB_tenants\Sources\SM_Order\SM_Order_BeanServices\src\main\java\de\mmsdresden\sportscheck\beans\
ArchiveBean.java:[88,46] incompatible types
found   : org.apache.servicemix.jbi.api.Destination
required: org.apache.servicemix.client.Destination


Bean java code:
======================================
======================================
======================================
package de.mmsdresden.sportscheck.beans;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;

import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import javax.jbi.component.ComponentContext;
import javax.jbi.messaging.DeliveryChannel;
import javax.jbi.messaging.ExchangeStatus;
import javax.jbi.messaging.InOnly;
import javax.jbi.messaging.MessageExchange;
import javax.jbi.messaging.MessagingException;
import javax.jbi.messaging.NormalizedMessage;
import javax.xml.transform.TransformerException;
import javax.xml.transform.stream.StreamSource;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.servicemix.MessageExchangeListener;
import org.apache.servicemix.client.Destination;
import org.apache.servicemix.client.ServiceMixClient;
import org.apache.servicemix.client.ServiceMixClientFacade;
import org.apache.servicemix.components.util.DefaultFileMarshaler;

import de.mmsdresden.sportscheck.utils.FileNameUtils;
import de.mmsdresden.sportscheck.utils.MessageExchangeCache;
import de.mmsdresden.sportscheck.utils.MessageExchangeCacheImpl;
import de.mmsdresden.sportscheck.utils.ServiceMixUtils;

/**
 * @author Andreas Lutz
 * @since 23.07.2009
 */
public class ArchiveBean implements MessageExchangeListener {

        /**
         * @see javax.jbi.messaging.DeliveryChannel
         */
        @Resource
        private DeliveryChannel channel;

        /**
         * @see javax.jbi.component.ComponentContext
         */
        @Resource
        private ComponentContext context;

        /**
         * @see org.apache.servicemix.client.ServiceMixClient
         */
        private ServiceMixClient client;

        // Destinations to write files
        // ----
        /**
         * @see org.apache.servicemix.client.Destination
         */
        private Destination archive;

        private static final String SERVICE_NAMESPACE =
"service:http://sportscheck.com/services/orders/";;

        private static final String ARCHIVE_ENDPOINT = SERVICE_NAMESPACE +
"archive";

        private Log log = LogFactory.getLog(this.getClass());

        private MessageExchangeCache exchangeCache;

        /**
         * This init method checks that the needed artifacts are initialized
         * 
         * @throws IOException
         * @throws FileNotFoundException
         * @throws MessagingException
         */
        @PostConstruct
        public void init() throws FileNotFoundException, IOException,
MessagingException {
                if (this.context == null || this.channel == null) {
                        throw new IllegalStateException("Bean not initialized");
                }

                /*
                 * Create client to get the destination (where to send the 
files)
                 */
                this.client = new ServiceMixClientFacade(this.context);

                this.archive = this.client.createDestination(ARCHIVE_ENDPOINT);

                this.exchangeCache = new MessageExchangeCacheImpl();
        }

        /*
         * (non-Javadoc)
         * 
         * @see
         * org.apache.servicemix.MessageExchangeListener#onMessageExchange(javax
         * .jbi.messaging.MessageExchange)
         */
        public void onMessageExchange(MessageExchange exchange) throws
MessagingException {
                this.log.debug("Received exchange: " + 
exchange.getExchangeId());

                // process message //
                if (exchange.getStatus().equals(ExchangeStatus.DONE)) {
                        MessageExchange oldExchange =
this.exchangeCache.remove(exchange.getExchangeId());
                        ServiceMixUtils.sendMessage(oldExchange, 
ExchangeStatus.DONE,
this.channel);
                } else if (exchange.getStatus().equals(ExchangeStatus.ERROR)) {
                        MessageExchange oldExchange =
this.exchangeCache.remove(exchange.getExchangeId());
                        ServiceMixUtils.sendMessage(oldExchange, 
ExchangeStatus.ERROR,
this.channel);
                } else {
                        process(exchange);
                }
                this.log.debug("Exchanges in cache: " + 
this.exchangeCache.size());
        }

        private void process(MessageExchange exchange) throws 
MessagingException {
                InOnly inExchange = (InOnly) exchange;
                NormalizedMessage message = inExchange.getInMessage();

                String fileName = ServiceMixUtils.getFileName(message);
                String filePath = ServiceMixUtils.getFilePath(message);

                // copy to archive //
                StreamSource content;
                try {
                        content = ServiceMixUtils.getMessagePayload(message);

                        if (ServiceMixUtils.isTestDir(filePath)) {
                                fileName = "test_" + fileName;
                        }

                        Properties props = new Properties();
                        props.put(DefaultFileMarshaler.FILE_NAME_PROPERTY,
FileNameUtils.getArchiveFilename(fileName, ""));
                        MessageExchange out = 
ServiceMixUtils.sendMessage(this.archive, content,
props, this.client);
                        this.exchangeCache.put(out.getExchangeId(), inExchange);
                } catch (TransformerException e) {
                        this.log.error(e);
                } catch (IOException e) {
                        this.log.error(e);
                }
        }

}

Pom.xml:
======================================
======================================
======================================
<?xml version="1.0" encoding="UTF-8"?>
<project>
        <parent>
                <artifactId>SM_Order</artifactId>
                <groupId>de.mmsdresden.sportscheck</groupId>
                <version>1.0</version>
        </parent>
        <modelVersion>4.0.0</modelVersion>
        <groupId>de.mmsdresden.sportscheck</groupId>
        <artifactId>SM_Order_BeanServices
        </artifactId>
        <packaging>jbi-service-unit</packaging>
        <name>Servicemix :: SM_Order :: BeanServices</name>
        <version>1.0</version>
        <url>http://www.myorganization.org</url>
        <build>

                <directory>../../build/SPSI/${artifactId}</directory>
                
<outputDirectory>../../build/SPSI/${artifactId}/classes</outputDirectory>
                <sourceDirectory>src/main/java</sourceDirectory>

                <resources>
                        <resource>
                                <directory>src/main/resources</directory>
                                <includes>
                                        <include>**/*</include>
                                </includes>
                        </resource>
                </resources>
                <plugins>
                        <plugin>
                                <artifactId>maven-compiler-plugin</artifactId>
                                <configuration>
                                        <source>1.5</source>
                                        <target>1.5</target>
                                </configuration>
                        </plugin>
                        <plugin>
                                <groupId>org.apache.servicemix.tooling
                                </groupId>
                                <artifactId>jbi-maven-plugin</artifactId>
                                <version>4.0</version>
                                <extensions>true</extensions>
                        </plugin>
                </plugins>
        </build>
        <repositories>
                <repository>
                        <id>codehaus.m2.snapshots</id>
                        <url>http://snapshots.repository.codehaus.org
                        </url>
                        <releases>
                                <enabled>false</enabled>
                        </releases>
                </repository>
                <repository>
                        <releases />
                        <snapshots>
                                <enabled>false</enabled>
                        </snapshots>
                        <id>apache</id>
                        <name>Apache Repository</name>
                        
<url>http://people.apache.org/repo/m2-ibiblio-rsync-repository
                        </url>
                </repository>
                <repository>
                        <releases>
                                <enabled>false</enabled>
                        </releases>
                        <snapshots />
                        <id>apache.snapshots</id>
                        <name>Apache Snapshots Repository</name>
                        
<url>http://people.apache.org/repo/m2-snapshot-repository
                        </url>
                </repository>
        </repositories>
        <pluginRepositories>
                <pluginRepository>
                        <releases />
                        <snapshots>
                                <enabled>false</enabled>
                        </snapshots>
                        <id>apache</id>
                        <name>Apache Repository</name>
                        
<url>http://people.apache.org/repo/m2-ibiblio-rsync-repository
                        </url>
                </pluginRepository>
                <pluginRepository>
                        <releases>
                                <enabled>false</enabled>
                        </releases>
                        <snapshots />
                        <id>apache.snapshots</id>
                        <name>Apache Snapshots Repository</name>
                        
<url>http://people.apache.org/repo/m2-snapshot-repository
                        </url>
                </pluginRepository>
        </pluginRepositories>
        <dependencies>
                <dependency>
                        <groupId>org.apache.servicemix</groupId>
                        <artifactId>servicemix-bean</artifactId>
                        <version>2008.01</version>
                </dependency>
                <dependency>
                        <groupId>org.apache.servicemix</groupId>
                        <artifactId>servicemix-core</artifactId>
                        <version>${servicemix-version}</version>
                        <scope>provided</scope>
                </dependency>
                <dependency>
                        <groupId>de.mmsdresden.sportscheck</groupId>
                        <artifactId>sportscheck_utils</artifactId>
                        <version>${sportscheck-version}</version>
                        <type>jar</type>
                        <scope>compile</scope>
                </dependency>
                <dependency>
                        <groupId>de.mmsdresden.sportscheck</groupId>
                        <artifactId>orders_mapping</artifactId>
                        <version>${sportscheck-version}</version>
                        <type>jar</type>
                        <scope>compile</scope>
                </dependency>
                <dependency>
                        <groupId>commons-io</groupId>
                        <artifactId>commons-io</artifactId>
                        <version>1.4</version>
                        <scope>provided</scope>
                </dependency>
                <dependency>
                        <groupId>org.milyn</groupId>
                        <artifactId>milyn-smooks-core</artifactId>
                        <version>${milyn.smooks.version}</version>
                        <scope>provided</scope>
                </dependency>
        </dependencies>
        <properties>
                <milyn.smooks.version>1.1-SNAPSHOT
        </milyn.smooks.version>
                <servicemix-version>3.3</servicemix-version>
                <sportscheck-version>1.0</sportscheck-version>
        </properties>
</project>
-- 
View this message in context: 
http://old.nabble.com/Problems-migrating-Servicemix-3.2.2-to-3.3-tp26442642p26442642.html
Sent from the ServiceMix - Dev mailing list archive at Nabble.com.

Reply via email to