FAQ

# [ServiceMix-users] Servicemix-ftp poller is not deleting files after processing

Hi, I am using servicemix version 3.3.1.6. I have my ftp-poller configured as
below:

<ftp:poller service="tut:file"
endpoint="poller"
targetService="mp:transformBeanService" deleteFile="true"
uri="ftp://userid:passwd@remotehostname//tmp/fnlprceresponse">
<property name="filter">
<bean class="org.apache.commons.io.filefilter.WildcardFilter">
<constructor-arg value="*.csv" />
</bean>
</property>
<property name="marshaler">
<bean
class="org.apache.servicemix.components.util.BinaryFileMarshaler" >
<property name="attachment" value="content"/>
</bean>
</property>

</ftp:poller>

As per the above configuration, i expect the poller to delete the files
after successful processing (if everything goes without error). But that is
not what happening. I do not know if there is a bug in the poller component
or i am missing something.
I would appreciate any help on this.
--
View this message in context: http://www.nabble.com/Servicemix-ftp-poller-is-not-deleting-files-after-processing-tp20026572p20026572.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

## 4 responses

•  at Oct 17, 2008 at 6:39 am ⇧
Hi,

I fear there is no servicemix release with that version number yet :)
Maybe you are speaking about Fuse?
Regarding to the xbean content you may be right. The delete flag defaults to
true and you explicitely set it to true as well, so the file should have been
deleted.

Have you had a look at the log files if errors occured? Have you turned on the
DEBUG log level and tried again if there is some output regarding the file
deletion?

Regards
Lars

Am Freitag 17 Oktober 2008 05:34:13 schrieb kusma:
Hi, I am using servicemix version 3.3.1.6. I have my ftp-poller configured
as below:

<ftp:poller service="tut:file"
endpoint="poller"
targetService="mp:transformBeanService" deleteFile="true"
uri="ftp://userid:passwd@remotehostname//tmp/fnlprceresponse">
<property name="filter">
<bean class="org.apache.commons.io.filefilter.WildcardFilter">
<constructor-arg value="*.csv" />
</bean>
</property>
<property name="marshaler">
<bean
class="org.apache.servicemix.components.util.BinaryFileMarshaler" >
<property name="attachment" value="content"/>
</bean>
</property>

</ftp:poller>

As per the above configuration, i expect the poller to delete the files
after successful processing (if everything goes without error). But that is
not what happening. I do not know if there is a bug in the poller component
or i am missing something.
I would appreciate any help on this.
•  at Oct 17, 2008 at 9:18 pm ⇧
Hi Lars,
Thanks for the quick reply
Yes, I actually meant Fuse version.

To your point, i tried to turn on the DEBUG log level on
"org.apache.servicemix" logger. I could not find any messages regarding the
file deletion, i do not know if the 'Unable to acquire lock' message implies
anything.
FYI, Following are the log message that i see from my log file.

DEBUG | pool-component.servicemix-file-thread-6 | FileComponent |
icemix.file.FilePollerEndpoint 289 | Polling directory
c:\test\servicemix\in
DEBUG | pool-component.servicemix-file-thread-6 | FileComponent |
icemix.file.FilePollerEndpoint 301 | Scheduling file
c:\test\servicemix\in\test.csv for processing
DEBUG | pool-component.servicemix-file-thread-6 | FileComponent |
icemix.file.FilePollerEndpoint 301 | Scheduling file
c:\test\servicemix\in\upspricingoutput.csv for processing
DEBUG | pool-component.servicemix-file-thread-7 | FileComponent |
emix.file.FilePollerEndpoint$1 318 | Unable to acquire lock on c:\test\servicemix\in\test.csv DEBUG | pool-component.servicemix-file-thread-6 | FileComponent | emix.file.FilePollerEndpoint$1 318 | Unable to acquire lock on
c:\test\servicemix\in\upspricingoutput.csv

thanks
Chitti

lhe77 wrote:
Hi,

I fear there is no servicemix release with that version number yet :)
Maybe you are speaking about Fuse?
Regarding to the xbean content you may be right. The delete flag defaults
to
true and you explicitely set it to true as well, so the file should have
been
deleted.

Have you had a look at the log files if errors occured? Have you turned on
the
DEBUG log level and tried again if there is some output regarding the file
deletion?

Regards
Lars

Am Freitag 17 Oktober 2008 05:34:13 schrieb kusma:
Hi, I am using servicemix version 3.3.1.6. I have my ftp-poller
configured
as below:

<ftp:poller service="tut:file"
endpoint="poller"
targetService="mp:transformBeanService" deleteFile="true"

uri="ftp://userid:passwd@remotehostname//tmp/fnlprceresponse">
<property name="filter">
<bean class="org.apache.commons.io.filefilter.WildcardFilter">
<constructor-arg value="*.csv" />
</bean>
</property>
<property name="marshaler">
<bean
class="org.apache.servicemix.components.util.BinaryFileMarshaler" >
<property name="attachment" value="content"/>
</bean>
</property>

</ftp:poller>

As per the above configuration, i expect the poller to delete the files
after successful processing (if everything goes without error). But that
is
not what happening. I do not know if there is a bug in the poller
component
or i am missing something.
I would appreciate any help on this.
--
View this message in context: http://www.nabble.com/Servicemix-ftp-poller-is-not-deleting-files-after-processing-tp20026572p20041211.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.
•  at Oct 20, 2008 at 8:40 am ⇧
Chitti,

the log messages say that those 2 files can't be locked by the poller endpoint.
This can have several reasons...
* the files were already polled and no answer was received yet so the lock can
be released
* the servicemix user has no rights on those files
* etc.

My suggestion is to check the message flow in the debug level. The normal flow
would be that your file poller schedules and processes a file and sends a InOnly
exchange to a targetService. This target service will do something and
afterwards send a DONE (if all is ok) or an ERROR (if processing failed).
The file poller will receive this state and will delete the file and release the
lock.

Please make sure, that the flow behaves like this in your case.

Regards
Lars

Am Freitag 17 Oktober 2008 23:18:04 schrieb kusma:
Hi Lars,
Thanks for the quick reply
Yes, I actually meant Fuse version.

To your point, i tried to turn on the DEBUG log level on
"org.apache.servicemix" logger. I could not find any messages regarding
the file deletion, i do not know if the 'Unable to acquire lock' message
implies anything.
FYI, Following are the log message that i see from my log file.

DEBUG | pool-component.servicemix-file-thread-6 | FileComponent
icemix.file.FilePollerEndpoint 289 | Polling directory
c:\test\servicemix\in
DEBUG | pool-component.servicemix-file-thread-6 | FileComponent
icemix.file.FilePollerEndpoint 301 | Scheduling file
c:\test\servicemix\in\test.csv for processing
DEBUG | pool-component.servicemix-file-thread-6 | FileComponent
icemix.file.FilePollerEndpoint 301 | Scheduling file
c:\test\servicemix\in\upspricingoutput.csv for processing
DEBUG | pool-component.servicemix-file-thread-7 | FileComponent
emix.file.FilePollerEndpoint$1 318 | Unable to acquire lock on c:\test\servicemix\in\test.csv DEBUG | pool-component.servicemix-file-thread-6 | FileComponent emix.file.FilePollerEndpoint$1 318 | Unable to acquire lock on
c:\test\servicemix\in\upspricingoutput.csv

thanks
Chitti

lhe77 wrote:
Hi,

I fear there is no servicemix release with that version number yet :)
Maybe you are speaking about Fuse?
Regarding to the xbean content you may be right. The delete flag defaults
to
true and you explicitely set it to true as well, so the file should have
been
deleted.

Have you had a look at the log files if errors occured? Have you turned
on the
DEBUG log level and tried again if there is some output regarding the
file deletion?

Regards
Lars

Am Freitag 17 Oktober 2008 05:34:13 schrieb kusma:
Hi, I am using servicemix version 3.3.1.6. I have my ftp-poller
configured
as below:

<ftp:poller service="tut:file"
endpoint="poller"
targetService="mp:transformBeanService" deleteFile="true"

uri="ftp://userid:passwd@remotehostname//tmp/fnlprceresponse">
<property name="filter">
<bean class="org.apache.commons.io.filefilter.WildcardFilter">
<constructor-arg value="*.csv" />
</bean>
</property>
<property name="marshaler">
<bean
class="org.apache.servicemix.components.util.BinaryFileMarshaler" >
<property name="attachment" value="content"/>
</bean>
</property>

</ftp:poller>

As per the above configuration, i expect the poller to delete the files
after successful processing (if everything goes without error). But that
is
not what happening. I do not know if there is a bug in the poller
component
or i am missing something.
I would appreciate any help on this.
•  at Oct 20, 2008 at 8:44 pm ⇧
Thanks much Lars.
I forgot to set the status to DONE in my target service. I fixed that now
and is working fine.

Thanks again for your help.
Chitti

lhe77 wrote:
Chitti,

the log messages say that those 2 files can't be locked by the poller
endpoint.
This can have several reasons...
* the files were already polled and no answer was received yet so the lock
can
be released
* the servicemix user has no rights on those files
* etc.

My suggestion is to check the message flow in the debug level. The normal
flow
would be that your file poller schedules and processes a file and sends a
InOnly
exchange to a targetService. This target service will do something and
afterwards send a DONE (if all is ok) or an ERROR (if processing failed).
The file poller will receive this state and will delete the file and
release the
lock.

Please make sure, that the flow behaves like this in your case.

Regards
Lars

Am Freitag 17 Oktober 2008 23:18:04 schrieb kusma:
Hi Lars,
Thanks for the quick reply
Yes, I actually meant Fuse version.

To your point, i tried to turn on the DEBUG log level on
"org.apache.servicemix" logger. I could not find any messages regarding
the file deletion, i do not know if the 'Unable to acquire lock' message
implies anything.
FYI, Following are the log message that i see from my log file.

DEBUG | pool-component.servicemix-file-thread-6 | FileComponent
icemix.file.FilePollerEndpoint 289 | Polling directory
c:\test\servicemix\in
DEBUG | pool-component.servicemix-file-thread-6 | FileComponent
icemix.file.FilePollerEndpoint 301 | Scheduling file
c:\test\servicemix\in\test.csv for processing
DEBUG | pool-component.servicemix-file-thread-6 | FileComponent
icemix.file.FilePollerEndpoint 301 | Scheduling file
c:\test\servicemix\in\upspricingoutput.csv for processing
DEBUG | pool-component.servicemix-file-thread-7 | FileComponent
emix.file.FilePollerEndpoint$1 318 | Unable to acquire lock on c:\test\servicemix\in\test.csv DEBUG | pool-component.servicemix-file-thread-6 | FileComponent emix.file.FilePollerEndpoint$1 318 | Unable to acquire lock on
c:\test\servicemix\in\upspricingoutput.csv

thanks
Chitti

lhe77 wrote:
Hi,

I fear there is no servicemix release with that version number yet :)
Maybe you are speaking about Fuse?
Regarding to the xbean content you may be right. The delete flag defaults
to
true and you explicitely set it to true as well, so the file should have
been
deleted.

Have you had a look at the log files if errors occured? Have you turned
on the
DEBUG log level and tried again if there is some output regarding the
file deletion?

Regards
Lars

Am Freitag 17 Oktober 2008 05:34:13 schrieb kusma:
Hi, I am using servicemix version 3.3.1.6. I have my ftp-poller
configured
as below:

<ftp:poller service="tut:file"
endpoint="poller"
targetService="mp:transformBeanService" deleteFile="true"

uri="ftp://userid:passwd@remotehostname//tmp/fnlprceresponse">
<property name="filter">
<bean class="org.apache.commons.io.filefilter.WildcardFilter">
<constructor-arg value="*.csv" />
</bean>
</property>
<property name="marshaler">
<bean
class="org.apache.servicemix.components.util.BinaryFileMarshaler"
<property name="attachment" value="content"/>
</bean>
</property>

</ftp:poller>

As per the above configuration, i expect the poller to delete the
files
after successful processing (if everything goes without error). But
that
is
not what happening. I do not know if there is a bug in the poller
component
or i am missing something.
I would appreciate any help on this.