We have migrated a BPEL process from 10g to 11g, in 10g it used FTP adapter to pick up the files and as per the client requirement we changed to it to File adapter (since it is cluster we use HAFileAdapter).
The adapter reads the files as attachment. One strange behavior is that if i place files with new names it is picked up and processed. But files with same name is not getting picked up again. If i redeploy the process then it is picking up.
i had the same problem and it drove me crazy- finally with oracle support we discovered that it was an improper configuration of the JCA properties, related to the threading model (can't remember the details):
In this context, there is another scenario where if the file is not modified from last time stamp. Then it wont get picked up.
Try to open the file and add some space and redo the work and save. This will change the time stamp of the file, this file is treated as modified file as per the adapter, this is for windows machine.
If linux machine, you can do touch command to update the time stamp for the file.
- It is considered good etiquette to reward answerers with points (as "helpful" - 5 pts - or "correct" - 10pts).
This behavior is by design and this is how high availability setup ensures that a file which is already being processed by one managed server does not get picked up by another managed server. The HA setup tags the name of first managed server which picks up the file so that other managed servers will not pickup the same file. This will mean that if the same file is received again, it will not be automatically processed. Even if you change the timestamp of the file it wont be processed. If you want to process the files with same name then there are following options:
1. Redeploy the composite
2. Rename the file to a new name
3. If you know that the sender of the file may same files with same name multiple times, then you need to rethink the strategy to do it on a clustered environment and may be use a separate file system for managed servers instead of a shared filesystem and then putting the file only on one managed server and not on all.
the JCA looks fine
check also the configuration of your FileAdapter deployment, the eis/HAFileAdapter factory, make sure that controlDir exists on the disk, that the 2 datasources SOADataSource and SOAXADataSource exist, that you have a FILEADAPTER_IN table, and if any record are left stagnant in it.
Google for HAFileAdapter and FILEADAPTER_IN and you will find some posts on javamonamour....
But believe me, it definitely works, we have been using it for months in production without a glitch.