use of com.adaptris.core.DefaultFailedMessageRetrier in project interlok by adaptris.
the class DefaultFailedMessageRetrierJmxTest method testMBean_Retry_File_WorkflowNotFound.
@Test
public void testMBean_Retry_File_WorkflowNotFound() 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() + "@BLAHBLAH");
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);
assertFalse(jmxBean.retryMessage(fileToRetry));
assertEquals(0, mock.messageCount());
} finally {
adapterManager.requestClose();
adapterManager.unregisterMBean();
}
}
use of com.adaptris.core.DefaultFailedMessageRetrier in project interlok by adaptris.
the class DefaultFailedMessageRetrierJmxTest method testMBean_Retry_File_NotFoundException.
@Test
public void testMBean_Retry_File_NotFoundException() 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() + "@BLAHBLAH");
File fileToRetry = writeFile(msg, new MimeEncoder());
fileToRetry.delete();
AdapterManager adapterManager = new AdapterManager(adapter);
try {
adapterManager.registerMBean();
adapterManager.requestStart();
ObjectName retrierObjName = createRetrierObjectName(adapterManager);
DefaultFailedMessageRetrierJmxMBean jmxBean = JMX.newMBeanProxy(mBeanServer, retrierObjName, DefaultFailedMessageRetrierJmxMBean.class);
try {
jmxBean.retryMessage(fileToRetry);
fail();
} catch (IOException expected) {
}
} finally {
adapterManager.requestClose();
adapterManager.unregisterMBean();
}
}
use of com.adaptris.core.DefaultFailedMessageRetrier in project interlok by adaptris.
the class DefaultFailedMessageRetrierJmxTest method testMBean_GetParentId.
@Test
public void testMBean_GetParentId() 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(getName(), proxy.getParentId());
} finally {
adapterManager.unregisterMBean();
}
}
use of com.adaptris.core.DefaultFailedMessageRetrier in project interlok by adaptris.
the class AdapterManagerTest method testMBean_NotificationOnSetFailedMessageRetrier.
@Test
public void testMBean_NotificationOnSetFailedMessageRetrier() throws Exception {
String adapterName = this.getClass().getSimpleName() + "." + getName();
Adapter adapter = createAdapter(adapterName, 1, 1);
String newCompXml = DefaultMarshaller.getDefaultMarshaller().marshal(new DefaultFailedMessageRetrier());
AdapterManager adapterManager = new AdapterManager(adapter);
ObjectName adapterObj = adapterManager.createObjectName();
SimpleNotificationListener listener = new SimpleNotificationListener();
NotificationFilterSupport filter = new NotificationFilterSupport();
filter.enableType(NOTIF_TYPE_ADAPTER_CONFIG);
try {
adapterManager.registerMBean();
mBeanServer.addNotificationListener(adapterObj, listener, filter, null);
AdapterManagerMBean adapterManagerProxy = JMX.newMBeanProxy(mBeanServer, adapterObj, AdapterManagerMBean.class);
adapterManagerProxy.setFailedMessageRetrier(newCompXml);
listener.waitForMessages(1);
assertEquals(1, listener.getNotifications().size());
Notification n = listener.getNotifications().get(0);
assertEquals(NOTIF_TYPE_ADAPTER_CONFIG, n.getType());
assertEquals(NOTIF_MSG_CONFIG_UPDATED, n.getMessage());
assertEquals(adapterManagerProxy.getConfiguration(), n.getUserData());
} finally {
}
}
use of com.adaptris.core.DefaultFailedMessageRetrier in project interlok by adaptris.
the class AdapterManagerTest method testMBean_SetFailedMessageRetrier.
@Test
public void testMBean_SetFailedMessageRetrier() throws Exception {
String adapterName = this.getClass().getSimpleName() + "." + getName();
Adapter adapter = createAdapter(adapterName);
AdapterManager adapterManager = new AdapterManager(adapter);
DefaultFailedMessageRetrier meh = new DefaultFailedMessageRetrier();
meh.setUniqueId(getName());
ObjectName adapterObj = adapterManager.createObjectName();
List<BaseComponentMBean> mBeans = new ArrayList<BaseComponentMBean>();
mBeans.add(adapterManager);
mBeans.addAll(adapterManager.getAllDescendants());
try {
register(mBeans);
AdapterManagerMBean adapterManagerProxy = JMX.newMBeanProxy(mBeanServer, adapterObj, AdapterManagerMBean.class);
adapterManagerProxy.setFailedMessageRetrier(DefaultMarshaller.getDefaultMarshaller().marshal(meh));
Adapter marshalledAdapter = (Adapter) DefaultMarshaller.getDefaultMarshaller().unmarshal(adapterManagerProxy.getConfiguration());
assertEquals(DefaultFailedMessageRetrier.class, marshalledAdapter.getFailedMessageRetrier().getClass());
assertEquals(meh.getUniqueId(), ((DefaultFailedMessageRetrier) marshalledAdapter.getFailedMessageRetrier()).getUniqueId());
} finally {
}
}
Aggregations