You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

ServiceMix File

The ServiceMix File component provides JBI integration to the file system. It can be used to read & write files via URI or to periodically poll directories for new files.

Note that this component is only available in releases >= 3.1.

URI

You can use the familiar file URI to communicate with files

file:foo.xml
file://path/to/something

Endpoints

Provider endpoint
<file:sender service="test:service"
               endpoint="endpoint"
               directory="file:target/pollerFiles" />
Polling (consumer) endpoint
<file:poller service="test:poller"
                      endpoint="poller"
                      targetService="test:receiver"
                      file="file:target/pollerFiles" />

Poller endpoint attributes

Name

Type

Description

Default

service

QName

the service name of the endpoint

required to be spec'd

endpoint

string

the endpoint name of the endpoint

required to be spec'd

interfaceName

QName

the interface name of the endpoint

 

targetService

QName

the service name of the target endpoint

 

targetEndPoint

string

the endpoint name of the target endpoint

 

targetInterface

QName

the interface name of the target endpoint

 

targetUri

string

the uri of the target endpoint

 

autoCreateDirectory

boolean

creates dir if doesn't exist

true

firstTime

date

datetime before first poll can take place

null (first poll right after start)

delay

long

amount of time first polling is delayed after start

0

period

long

amount of time between polls

5000

file

string

sets the file or directory to poll

null (must be spec'd)

deleteFile

boolean

delete file when it is processed

true

recursive

boolean

process sub directories

true

marshaler

class

org.apache.servicemix.components.util.FileMarshaler

DefaultFileMarshaler

lockManager

class

org.apache.servicemix.locks.LockManager

SimpleLockManager

filter

class

java.io.FileFilter (optional filter)

null - no filter

scheduler

class

org.apache.servicemix.components.varscheduler.Scheduler

new Scheduler(true)

 
 

Marshalers
<file:sender service="test:service" endpoint="endpoint" directory="file:target/componentOutput">
  <file:marshaler>
    <sm:defaultFileMarshaler>
      <sm:fileName>
        <!-- lets use a header from the message -->
        <sm:xpathString xpath="concat($name, '.xml')"/>
      </sm:fileName>
    </sm:defaultFileMarshaler>
  </file:marshaler>
</file:sender>

For all xbean file endpoint configuration take a look at Xml schemas

Note: Poller generates an InOnly message

  • No labels