开发者

How to move a file using Mule2

开发者 https://www.devze.com 2023-02-12 08:40 出处:网络
I expected the following Mule (2.1.2) file to move all files in \"/path/to/dir1\" to \"/path/to/dir2\", but it doesn\'t work:

I expected the following Mule (2.1.2) file to move all files in "/path/to/dir1" to "/path/to/dir2", but it doesn't work:

<mule
    xmlns="http://www.mulesource.org/schema/mule/core/2.1"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:file="http://www.mulesource.org/schema/mule/file/2.1"
    xsi:schemaLocation="
       http://www.mulesource.org/schema/mule/core/2.1 http://www.mulesource.org/schema/mule/core/2.1/mule.xsd
       http://www.mulesource.org/schema/mule/file/2.1 http://www.mulesource.org/schema/mule/file/2.1/mule-file.xsd">

    <file:endpoint name="move"
        path="/path/to/dir1"
        moveToDirectory="/path/to/dir2"/>

    <model>
        <service name="service name: move file">
            <inbound>
                <inbound-endpoint ref="move"/>
            </inbound>
        </service>
    </model>

</mule>

Here's the out of ./mule -config ../conf/test.xml:

Mule home is at /home/wena/work/share/archives/mule-2.1.2
Running in console (foreground) mode by default, use Ctrl-C to exit...
Mule home is at /home/wena/work/share/archives/mule-2.1.2
Running Mule...
--> Wrapper Started as Console
Launching a JVM...
Starting the Mule Server...
Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
  Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.

INFO  2011-02-18 12:59:31,853 [WrapperListener_start_runner] org.mule.MuleServer: Mule Server initializing...
INFO  2011-02-18 12:59:32,255 [WrapperListener_start_runner] org.mule.config.spring.MuleApplicationContext: Refreshing org.mule.config.spring.MuleApplicationContext@1e845c2: display name [org.mule.config.spring.MuleApplicationContext@1e845c2]; startup date [Fri Feb 18 12:59:32 SAST 2011]; root of context hierarchy
INFO  2011-02-18 12:59:33,221 [WrapperListener_start_runner] org.mule.config.spring.MuleApplicationContext: Bean factory for application context [org.mule.config.spring.MuleApplicationContext@1e845c2]: org.springframework.beans.factory.support.DefaultListableBeanFactory@bf5555
INFO  2011-02-18 12:59:33,599 [WrapperListener_start_runner] org.mule.transport.file.FileConnector: Initialising: FileConnector{this=b31b77, started=false, initialised=false, name='connector.file.0', disposed=false, numberOfConcurrentTransactedReceivers=4, createMultipleTransactedReceivers=true, connected=false, supportedProtocols=[file], serviceOverrides=null}
INFO  2011-02-18 12:59:33,605 [WrapperListener_start_runner] org.mule.DefaultExceptionStrategy: Initialising exception listener: org.mule.DefaultExceptionStrategy@1b5391b
INFO  2011-02-18 12:59:33,614 [WrapperListener_start_runner] org.mule.component.simple.PassThroughComponent: Initialising: org.mule.component.simple.PassThroughComponent component for: service name: move file
INFO  2011-02-18 12:59:33,620 [WrapperListener_start_runner] org.mule.config.builders.AutoConfigurationBuilder: Configured Mule using "org.mule.config.spring.SpringXmlConfigurationBuilder" with configuration resource(s): "[ConfigResource{resourceName='../conf/test.xml'}]"
INFO  2011-02-18 12:59:33,620 [WrapperListener_start_runner] org.mule.config.builders.AutoConfigurationBuilder: Configured Mule using "org.mule.config.builders.AutoConfigurationBuilder" with configuration resource(s): "[ConfigResource{resourceName='../conf/test.xml'}]"
INFO  2011-02-18 12:59:33,620 [WrapperListener_start_runner] org.mule.MuleServer: Mule Server starting...
INFO  2011-02-18 12:59:33,634 [WrapperListener_start_runner] org.mule.transport.file.FileConnector: Starting: FileConnector{this=b31b77, started=false, initialised=true, name='connector.file.0', disposed=false, numberOfConcurrentTransactedReceivers=4, createMultipleTransactedReceivers=true, connected=true, supportedProtocols=[file], serviceOverrides=null}
INFO  2011-02-18 12:59:33,640 [WrapperListener_start_runner] org.mule.transport.file.FileConnector: Started: FileConnector{this=b31b77, started=true, initialised=true, name='connector.file.0', disposed=false, numberOfConcurrentTransactedReceivers=4, createMultipleTransactedReceivers=true, connected=true, supportedProtocols=[file], serviceOverrides=null}
INFO  2011-02-18 12:59:33,640 [WrapperListener_start_runner] org.mule.component.simple.PassThroughComponent: Starting: org.mule.component.simple.PassThroughComponent component for: service name: move file
INFO  2011-02-18 12:59:33,640 [WrapperListener_start_runner] org.mule.transport.file.FileConnector: Registering listener: service name: move file on endpointUri: file:///home/wena/temp/test1
INFO  2011-02-18 12:59:33,674 [WrapperListener_start_runner] org.mule.model.seda.SedaService: Service service name: move file has been started successfully
INFO  2011-02-18 12:59:33,674 [WrapperListener_start_runner] org.mule.util.queue.TransactionalQueueManager: Starting ResourceManager
INFO  2011-02-18 12:59:33,675 [WrapperListener_start_runner] org.mule.util.queue.TransactionalQueueManager: Started ResourceManager
INFO  2011-02-18 12:59:33,692 [WrapperListener_start_runner] org.mule.DefaultMuleContext: 
**********************************************************************
* Mule ESB and Integration Platform                                  *
* Version: 2.1.2 Build: 13558                                        *
* MuleSource, Inc.                                                   *
* For more information go to http://mule.mulesource.org              *
*                                                                    *
* Server started: 2011/02/18 12:59 PM                                *
* Server ID: 2a03e188-3b4e-11e0-8837-7d3fd629264e                    *
* JDK: 1.6.0_23 (mixed mode)                                         *
* Encoding: OS: UTF-8, Mule: UTF-8                                   *
* OS: Linux (2.6.32-5-686-bigmem, i386)                              *
* Host: debian (127.0.1.1)                                       开发者_如何学JAVA  *
*                                                                    *
* Agents Running: None                                               *
**********************************************************************

[note] I can't afford to upgrade to later Mule versions just yet.


You don't get any errors when you copy any file to /path/to/dir1?

Try this configuration:

<model>
  <service name="service name: move file">
    <inbound>
      <file:inbound-endpoint path="/path/to/dir1/"/>
    </inbound>
    <outbound>
      <pass-through-router>
        <file:outbound-endpoint path="/path/to/dir2/" 
            outputPattern="${ORIGINALNAME}"/>
      </pass-through-router>
    </outbound>
  </service>
</model>

BTW: Mule 2.x is still fine, I run this version, too.


The files don't get moved with your configuration because the stream payload that is generated by the inbound file endpoint never gets consumed. It's the payload consumption that triggers the move.

Simply add:

<log-component />

after your inbound router and files should start moving.

0

精彩评论

暂无评论...
验证码 换一张
取 消