FilePoller should offer configurable targetOperation
----------------------------------------------------

                 Key: SM-1115
                 URL: https://issues.apache.org/activemq/browse/SM-1115
             Project: ServiceMix
          Issue Type: Improvement
          Components: servicemix-file
    Affects Versions: 3.1.2
            Reporter: Oliver Brusberg
         Attachments: FilePollerEndpoint.java.txt

FilePoller currently does not use a target operation when sending a message to 
a target service. The operation must be set, for example, when sending a file 
to a Ode SU. If not set, Ode throws sort of NPE complaining operation is not 
set.

FilePoller should offer a targetOperation property configurable via XBeans.

This can be achieved by adding a targetOperation property to the 
org.apache.servicemix.file.FilePollerEndpoint.java class which will be passed 
to the exchange object if set. The following code would do (corresponding patch 
is appended):

    ...
    private QName targetOperation = null;
    ...
   public QName getTargetOperation() {
        return targetOperation;
    }
    public void setTargetOperation(QName targetOperation) {
        this.targetOperation = targetOperation;
    }
    ...
    protected void processFile(File aFile) throws Exception {
    ...
            exchange.setInMessage(message);
            if (getTargetOperation() != null) 
exchange.setOperation(getTargetOperation()); // <--- NEW
            marshaler.readMessage(exchange, message, in, name);
    ...
    }

Then, the SU may be configured properly as follows:

        <f:poller
                service="proj:inbox"
                endpoint="inbox"
                targetService="process:receive"
                targetOperation="process:receive"
                file="file:///box/inbox"
                ...
        </f:poller>

In case the attribute is not set in the xbean.xml, the current behaviour is not 
changed.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to