Eduard, that's a good suggestion, but one issue I see is that if you are processing millions of documents, that's a lot of database overhead. Using a simple global reference with locks would work better as you would only have n files persisted up to the Pool Size. 

My next challenge is to determine a better way for the file service to pick off files from the OS folder without loading all the files into a potentially massive result set which can blow out local memory and in extreme cases quickly blow out CacheTemp DB size.

Okay, that setting eventually worked. I guess the services takes many minutes when there is large number of documents sitting in the OS folder.

One more question - is there a way to use negation on the file spec - e.g. create another service that looks for documents that don't match the specific pattern? I don't see anything obvious reading the code which means I would need to create a custom service to do this.

I would like to have multiple services handling the same OS folder.

I could use Pool Size > 1 but then there is conflict between the jobs when they try to access the same file.

Out of the box there is no way to reference the %Source value of the recordmap via the UI. You will need to create a custom class as shown in previous replies/answers on this thread.

It is interesting though that if I modify the .int file directly with pContext.Document.%Source and compile, the code compiles AND the rule works.

So this must be a defect in IS code.

Also, it is disappointing that the documentation around RecordMapper usage is so poor that you need to go on this long debug sessions to figure out how things really work.

I have tried this and it does not work. I have tried all variations: document.%Source, %Source, Document.%Source and they all fail - either at compile time or at run time.

 

Does anyone have an explicit example that shows what the rule will look like?

We have a client that uses PHIN-MS that would like to receive qualifying laboratory messages. I am exploring whether we can use the out of the box classes as the base to communicate with that system directly.

Is that for all inbound adapters, especially a recordmap based one?

 

The reason I ask, is while trying this out for a recordmap service I am seeing the following messages logged:

  • Skipping locked file key.
  • ERROR #5001: No records mapped from Submission

Here is everything that is available in the Details section:

Cannot complete the install because one or more required items could not be found.
  Software being installed: Atelier IDE 1.0.190 (com.intersys.eclipse.feature.estudio.feature.group 1.0.190)
  Missing requirement: RCPTT support plugin 1.0.190 (com.intersys.eclipse.ui.rcptt 1.0.190) requires 'bundle org.eclipse.rcptt.ecl.core 0.0.0' but it could not be found
  Cannot satisfy dependency:
    From: Atelier IDE 1.0.190 (com.intersys.eclipse.feature.estudio.feature.group 1.0.190)
    To: com.intersys.eclipse.ui.rcptt [1.0.190]

Joyce;

   Thanks, this works fine for that version. However we don't have that version available yet. We are using MyEclipse Pro 2015 v2.0 (from Genuitec). When I attempt to load the plug-in on this version, it fails loading the IDE piece with the error below. Any suggestions on how to correct this?

Cannot complete the install because one or more required items could not be found.
  Software being installed: Atelier IDE 1.0.190 (com.intersys.eclipse.feature.estudio.feature.group 1.0.190)
  Missing requirement: RCPTT support plugin 1.0.190 (com.intersys.eclipse.ui.rcptt 1.0.190) requires 'bundle org.eclipse.rcptt.ecl.core 0.0.0' but it could not be found
  Cannot satisfy dependency:
    From: Atelier IDE 1.0.190 (com.intersys.eclipse.feature.estudio.feature.group 1.0.190)
    To: com.intersys.eclipse.ui.rcptt [1.0.190]