Hi,
I'm new and a noob still. The problem I'm facing is a batch engine (without Spring Batch for the beginning) that has to:
- Poll a queue for job messages
- When a message is in the queue, read it and produce a useful object out of the concatenated string
- Pass the message to another service that downloads a file described in it
- Do several operations in that file (presumably in separate services)
- Produce a new file, upload it and restart the process
The problem is, the messages seam to be vanishing.
the context xml file:
Code:
<context:component-scan base-package="com.example" />
<context:property-placeholder location="classpath:batch.properties" />
<import resource="classpath:datasource-context.xml" />
<context:annotation-config />
<bean id="test.service" class="com.example.converter.service.StringConcatService" />
<int-amqp:inbound-channel-adapter
queue-names="doc" channel="input" connection-factory="rabbitConnFactory" />
<si:channel id="input">
<int:queue capacity="1" />
</si:channel>
<si:channel id="output" />
<int-stream:stdout-channel-adapter
channel="output" auto-startup="true" />
<int:poller fixed-delay="1000" default="true" />
<!-- Service activators -->
<si:service-activator input-channel="input" ref="test.service"
method="concat" output-channel="output" />
The main class:
Code:
@Component
public class Main {
public static void main(String[] args) {
final AbstractApplicationContext context = new ClassPathXmlApplicationContext(
"classpath:app-context.xml");
context.registerShutdownHook();
PollableChannel input = (PollableChannel) context.getBean("input");
input.receive();
}
}
Now this service is just a string concatenation service but it should work. Tried this also with a chain, also messages vanish but the queue (in rabbit web admin) are going down on items.
Am I missing something?
Appreciate any advice, Thanks
pejot