Search in sources :

Example 11 with DefaultFailedMessageRetrier

use of com.adaptris.core.DefaultFailedMessageRetrier in project interlok by adaptris.

the class DefaultFailedMessageRetrierJmxTest method testMBean_Retry_File.

@Test
public void testMBean_Retry_File() throws Exception {
    Adapter adapter = createAdapter(getName());
    Channel c = createChannel(getName());
    StandardWorkflow wf = createWorkflow(getName());
    MockMessageProducer mock = new MockMessageProducer();
    wf.setProducer(mock);
    c.getWorkflowList().add(wf);
    adapter.getChannelList().add(c);
    DefaultFailedMessageRetrier retrier = new DefaultFailedMessageRetrier();
    adapter.setFailedMessageRetrier(retrier);
    AdaptrisMessage msg = AdaptrisMessageFactory.getDefaultInstance().newMessage();
    msg.addMetadata(Workflow.WORKFLOW_ID_KEY, getName() + "@" + getName());
    File fileToRetry = writeFile(msg, new MimeEncoder());
    AdapterManager adapterManager = new AdapterManager(adapter);
    try {
        adapterManager.registerMBean();
        adapterManager.requestStart();
        ObjectName retrierObjName = createRetrierObjectName(adapterManager);
        DefaultFailedMessageRetrierJmxMBean jmxBean = JMX.newMBeanProxy(mBeanServer, retrierObjName, DefaultFailedMessageRetrierJmxMBean.class);
        assertTrue(jmxBean.retryMessage(fileToRetry));
        waitForMessages(mock, 1);
        assertEquals(1, mock.messageCount());
    } finally {
        adapterManager.requestClose();
        adapterManager.unregisterMBean();
    }
}
Also used : DefaultFailedMessageRetrierJmxMBean(com.adaptris.core.DefaultFailedMessageRetrierJmxMBean) StandardWorkflow(com.adaptris.core.StandardWorkflow) MockMessageProducer(com.adaptris.core.stubs.MockMessageProducer) AdaptrisMessage(com.adaptris.core.AdaptrisMessage) MimeEncoder(com.adaptris.core.MimeEncoder) Channel(com.adaptris.core.Channel) Adapter(com.adaptris.core.Adapter) DefaultFailedMessageRetrier(com.adaptris.core.DefaultFailedMessageRetrier) File(java.io.File) ObjectName(javax.management.ObjectName) Test(org.junit.Test)

Example 12 with DefaultFailedMessageRetrier

use of com.adaptris.core.DefaultFailedMessageRetrier in project interlok by adaptris.

the class DefaultFailedMessageRetrierJmxTest method testMBean_GetParentObjectName.

@Test
public void testMBean_GetParentObjectName() throws Exception {
    Adapter adapter = createAdapter(getName());
    DefaultFailedMessageRetrier retrier = new DefaultFailedMessageRetrier();
    adapter.setFailedMessageRetrier(retrier);
    AdapterManager adapterManager = new AdapterManager(adapter);
    ObjectName retrierObjName = createRetrierObjectName(adapterManager);
    try {
        adapterManager.registerMBean();
        DefaultFailedMessageRetrierJmxMBean proxy = JMX.newMBeanProxy(mBeanServer, retrierObjName, DefaultFailedMessageRetrierJmxMBean.class);
        assertNotNull(proxy);
        assertEquals(adapterManager.createObjectName(), proxy.getParentObjectName());
    } finally {
        adapterManager.unregisterMBean();
    }
}
Also used : DefaultFailedMessageRetrierJmxMBean(com.adaptris.core.DefaultFailedMessageRetrierJmxMBean) Adapter(com.adaptris.core.Adapter) DefaultFailedMessageRetrier(com.adaptris.core.DefaultFailedMessageRetrier) ObjectName(javax.management.ObjectName) Test(org.junit.Test)

Example 13 with DefaultFailedMessageRetrier

use of com.adaptris.core.DefaultFailedMessageRetrier in project interlok by adaptris.

the class DefaultFailedMessageRetrierJmxTest method testMBean_Retry_WorkflowNotStarted.

@Test
public void testMBean_Retry_WorkflowNotStarted() throws Exception {
    Adapter adapter = createAdapter(getName());
    Channel channel = createChannel(getName());
    StandardWorkflow wf = createWorkflow(getName());
    MockMessageProducer mock = new MockMessageProducer();
    wf.setProducer(mock);
    channel.getWorkflowList().add(wf);
    adapter.getChannelList().add(channel);
    DefaultFailedMessageRetrier retrier = new DefaultFailedMessageRetrier();
    retrier.setShutdownWaitTime(new TimeInterval(10L, TimeUnit.SECONDS));
    adapter.setFailedMessageRetrier(retrier);
    AdaptrisMessage msg = AdaptrisMessageFactory.getDefaultInstance().newMessage();
    msg.addMetadata(Workflow.WORKFLOW_ID_KEY, getName() + "@" + getName());
    SerializableMessage serialized = new DefaultSerializableMessageTranslator().translate(msg);
    AdapterManager adapterManager = new AdapterManager(adapter);
    try {
        adapterManager.registerMBean();
        adapterManager.requestStart();
        // Close the workflow directly
        wf.requestClose();
        ObjectName retrierObjName = createRetrierObjectName(adapterManager);
        DefaultFailedMessageRetrierJmxMBean jmxBean = JMX.newMBeanProxy(mBeanServer, retrierObjName, DefaultFailedMessageRetrierJmxMBean.class);
        assertFalse(jmxBean.retryMessage(serialized));
        assertEquals(0, mock.messageCount());
    } finally {
        adapterManager.requestClose();
        adapterManager.unregisterMBean();
    }
}
Also used : DefaultFailedMessageRetrierJmxMBean(com.adaptris.core.DefaultFailedMessageRetrierJmxMBean) StandardWorkflow(com.adaptris.core.StandardWorkflow) MockMessageProducer(com.adaptris.core.stubs.MockMessageProducer) TimeInterval(com.adaptris.util.TimeInterval) AdaptrisMessage(com.adaptris.core.AdaptrisMessage) SerializableMessage(com.adaptris.interlok.types.SerializableMessage) Channel(com.adaptris.core.Channel) Adapter(com.adaptris.core.Adapter) DefaultFailedMessageRetrier(com.adaptris.core.DefaultFailedMessageRetrier) DefaultSerializableMessageTranslator(com.adaptris.core.DefaultSerializableMessageTranslator) ObjectName(javax.management.ObjectName) Test(org.junit.Test)

Aggregations

Adapter (com.adaptris.core.Adapter)13 DefaultFailedMessageRetrier (com.adaptris.core.DefaultFailedMessageRetrier)13 ObjectName (javax.management.ObjectName)13 Test (org.junit.Test)13 DefaultFailedMessageRetrierJmxMBean (com.adaptris.core.DefaultFailedMessageRetrierJmxMBean)10 AdaptrisMessage (com.adaptris.core.AdaptrisMessage)8 Channel (com.adaptris.core.Channel)8 StandardWorkflow (com.adaptris.core.StandardWorkflow)8 MockMessageProducer (com.adaptris.core.stubs.MockMessageProducer)8 DefaultSerializableMessageTranslator (com.adaptris.core.DefaultSerializableMessageTranslator)4 SerializableMessage (com.adaptris.interlok.types.SerializableMessage)4 File (java.io.File)4 MimeEncoder (com.adaptris.core.MimeEncoder)3 TimeInterval (com.adaptris.util.TimeInterval)2 CoreException (com.adaptris.core.CoreException)1 IOException (java.io.IOException)1 ArrayList (java.util.ArrayList)1 Notification (javax.management.Notification)1 NotificationFilterSupport (javax.management.NotificationFilterSupport)1