List of usage examples for org.springframework.context ConfigurableApplicationContext getBean
Object getBean(String name) throws BeansException;
From source file:org.copperengine.core.test.persistent.BasePersistentWorkflowTest.java
public void testAsynchResponse(String dsContext) throws Exception { assumeFalse(skipTests());/*from w w w . java2 s . co m*/ logger.info("running testAsynchResponse"); final int NUMB = 50; final String DATA = createTestData(50); final ConfigurableApplicationContext context = createContext(dsContext); cleanDB(context.getBean(DataSource.class)); final PersistentScottyEngine engine = context.getBean(PersistentScottyEngine.class); engine.startup(); final BackChannelQueue backChannelQueue = context.getBean(BackChannelQueue.class); try { assertEquals(EngineState.STARTED, engine.getEngineState()); for (int i = 0; i < NUMB; i++) { engine.run(PersistentUnitTestWorkflow_NAME, DATA); } for (int i = 0; i < NUMB; i++) { WorkflowResult x = backChannelQueue.dequeue(DEQUEUE_TIMEOUT, TimeUnit.SECONDS); assertNotNull(x); assertNotNull(x.getResult()); assertNotNull(x.getResult().toString().length() == DATA.length()); assertNull(x.getException()); } } finally { closeContext(context); } assertEquals(EngineState.STOPPED, engine.getEngineState()); assertEquals(0, engine.getNumberOfWorkflowInstances()); }
From source file:org.copperengine.core.test.persistent.BasePersistentWorkflowTest.java
public void testAsynchResponseLargeData(String dsContext, int dataSize) throws Exception { assumeFalse(skipTests());//from www . j a va2 s . c o m logger.info("running testAsynchResponse"); final int NUMB = 20; final String DATA = createTestData(dataSize); final ConfigurableApplicationContext context = createContext(dsContext); cleanDB(context.getBean(DataSource.class)); final PersistentScottyEngine engine = context.getBean(PersistentScottyEngine.class); engine.startup(); final BackChannelQueue backChannelQueue = context.getBean(BackChannelQueue.class); try { assertEquals(EngineState.STARTED, engine.getEngineState()); for (int i = 0; i < NUMB; i++) { engine.run(PersistentUnitTestWorkflow_NAME, DATA); } for (int i = 0; i < NUMB; i++) { WorkflowResult x = backChannelQueue.dequeue(DEQUEUE_TIMEOUT, TimeUnit.SECONDS); assertNotNull(x); assertNotNull(x.getResult()); assertNotNull(x.getResult().toString().length() == DATA.length()); assertNull(x.getException()); } } finally { closeContext(context); } assertEquals(EngineState.STOPPED, engine.getEngineState()); assertEquals(0, engine.getNumberOfWorkflowInstances()); }
From source file:org.copperengine.core.test.persistent.BasePersistentWorkflowTest.java
public void testErrorHandlingWithWaitHook(String dsContext) throws Exception { assumeFalse(skipTests());// w ww . ja v a 2 s . c o m final ConfigurableApplicationContext context = createContext(dsContext); cleanDB(context.getBean(DataSource.class)); final PersistentScottyEngine engine = context.getBean(PersistentScottyEngine.class); try { engine.startup(); final WorkflowInstanceDescr<Serializable> wfInstanceDescr = new WorkflowInstanceDescr<Serializable>( "org.copperengine.core.test.persistent.ErrorWaitHookUnitTestWorkflow"); wfInstanceDescr.setId(engine.createUUID()); engine.run(wfInstanceDescr, null); Thread.sleep(2500); // check new RetryingTransaction<Void>(context.getBean(DataSource.class)) { @Override protected Void execute() throws Exception { Statement stmt = createStatement(getConnection()); ResultSet rs = stmt.executeQuery("select * from COP_WORKFLOW_INSTANCE_ERROR"); assertTrue(rs.next()); assertEquals(wfInstanceDescr.getId(), rs.getString("WORKFLOW_INSTANCE_ID")); assertNotNull(rs.getString("EXCEPTION")); assertFalse(rs.next()); rs.close(); stmt.close(); return null; } }.run(); } finally { closeContext(context); } assertEquals(EngineState.STOPPED, engine.getEngineState()); assertEquals(0, engine.getNumberOfWorkflowInstances()); }
From source file:org.copperengine.core.test.persistent.BasePersistentWorkflowTest.java
public void testAutoCommit(String dsContext) throws Exception { assumeFalse(skipTests());/*from w w w.j a v a 2s .c o m*/ logger.info("running testAutoCommit"); final ConfigurableApplicationContext context = createContext(dsContext); try { DataSource ds = context.getBean(DataSource.class); new RetryingTransaction<Void>(ds) { @Override protected Void execute() throws Exception { assertFalse(getConnection().getAutoCommit()); return null; } }; } finally { closeContext(context); } }
From source file:org.copperengine.core.test.persistent.BasePersistentWorkflowTest.java
public void testNotifyWithoutEarlyResponseHandling(String dsContext) throws Exception { assumeFalse(skipTests());/*from ww w . ja va2 s .co m*/ logger.info("running testNotifyWithoutEarlyResponseHandling"); final ConfigurableApplicationContext context = createContext(dsContext); cleanDB(context.getBean(DataSource.class)); final PersistentScottyEngine engine = context.getBean(PersistentScottyEngine.class); try { engine.startup(); new RetryingTransaction<Void>(context.getBean(DataSource.class)) { @Override protected Void execute() throws Exception { try { Response<?> response = new Response<String>("CID#withEarlyResponse", "TEST", null); engine.notify(response, getConnection()); Statement stmt = createStatement(getConnection()); ResultSet rs = stmt.executeQuery("select * from COP_RESPONSE"); assertTrue(rs.next()); assertEquals(response.getCorrelationId(), rs.getString("CORRELATION_ID")); assertFalse(rs.next()); getConnection().rollback(); response = new Response<String>("CID#withoutEarlyResponse", "TEST", null); response.setEarlyResponseHandling(false); engine.notify(response, getConnection()); rs = stmt.executeQuery("select * from COP_RESPONSE"); assertFalse(rs.next()); rs.close(); stmt.close(); getConnection().rollback(); } catch (Exception e) { logger.error("testNotifyWithoutEarlyResponseHandling failed", e); throw e; } return null; } }.run(); } finally { closeContext(context); } assertEquals(EngineState.STOPPED, engine.getEngineState()); assertEquals(0, engine.getNumberOfWorkflowInstances()); }
From source file:org.copperengine.core.test.persistent.BasePersistentWorkflowTest.java
public void testErrorKeepWorkflowInstanceInDB(String dsContext) throws Exception { assumeFalse(skipTests());/*w w w. j av a2 s . co m*/ logger.info("running testErrorKeepWorkflowInstanceInDB"); final int NUMB = 20; final String DATA = createTestData(50); final ConfigurableApplicationContext context = createContext(dsContext); cleanDB(context.getBean(DataSource.class)); final PersistentScottyEngine engine = context.getBean(PersistentScottyEngine.class); final ScottyDBStorageInterface dbStorageInterface = context.getBean(ScottyDBStorageInterface.class); dbStorageInterface.setRemoveWhenFinished(false); engine.startup(); final BackChannelQueue backChannelQueue = context.getBean(BackChannelQueue.class); try { assertEquals(EngineState.STARTED, engine.getEngineState()); for (int i = 0; i < NUMB; i++) { engine.run(PersistentUnitTestWorkflow_NAME, DATA); } for (int i = 0; i < NUMB; i++) { WorkflowResult x = backChannelQueue.dequeue(DEQUEUE_TIMEOUT, TimeUnit.SECONDS); assertNotNull(x); assertNotNull(x.getResult()); assertNotNull(x.getResult().toString().length() == DATA.length()); assertNull(x.getException()); } new RetryingTransaction<Void>(context.getBean(DataSource.class)) { @Override protected Void execute() throws Exception { Statement stmt = createStatement(getConnection()); ResultSet rs = stmt.executeQuery("select count(*) from COP_WORKFLOW_INSTANCE"); assertTrue(rs.next()); int x = rs.getInt(1); assertEquals(NUMB, x); rs.close(); stmt.close(); return null; } }.run(); } finally { closeContext(context); } assertEquals(EngineState.STOPPED, engine.getEngineState()); assertEquals(0, engine.getNumberOfWorkflowInstances()); }
From source file:org.copperengine.core.test.persistent.BasePersistentWorkflowTest.java
public void testCompressedAuditTrail(String dsContext) throws Exception { assumeFalse(skipTests());/* www . j a v a2 s . c o m*/ logger.info("running testCompressedAuditTrail"); final int NUMB = 20; final String DATA = createTestData(50); final ConfigurableApplicationContext context = createContext(dsContext); context.getBean(BatchingAuditTrail.class).setMessagePostProcessor(new CompressedBase64PostProcessor()); cleanDB(context.getBean(DataSource.class)); final PersistentScottyEngine engine = context.getBean(PersistentScottyEngine.class); engine.startup(); final BackChannelQueue backChannelQueue = context.getBean(BackChannelQueue.class); try { assertEquals(EngineState.STARTED, engine.getEngineState()); for (int i = 0; i < NUMB; i++) { engine.run(PersistentUnitTestWorkflow_NAME, DATA); } for (int i = 0; i < NUMB; i++) { WorkflowResult x = backChannelQueue.dequeue(DEQUEUE_TIMEOUT, TimeUnit.SECONDS); assertNotNull(x); assertNotNull(x.getResult()); assertNotNull(x.getResult().toString().length() == DATA.length()); assertNull(x.getException()); } Thread.sleep(1000); new RetryingTransaction<Void>(context.getBean(DataSource.class)) { @Override protected Void execute() throws Exception { Statement stmt = createStatement(getConnection()); ResultSet rs = stmt.executeQuery( "select unique message from (select dbms_lob.substr(long_message, 4000, 1 ) message from COP_AUDIT_TRAIL_EVENT) order by 1 asc"); assertTrue(rs.next()); // logger.info("\""+new CompressedBase64PostProcessor().deserialize(rs.getString(1))+"\""); // System.out.println(new CompressedBase64PostProcessor().deserialize(rs.getString(1))); assertEquals("finished", new CompressedBase64PostProcessor().deserialize(rs.getString(1))); assertTrue(rs.next()); assertEquals("foo successfully called", new CompressedBase64PostProcessor().deserialize(rs.getString(1))); // System.out.println(new CompressedBase64PostProcessor().deserialize(rs.getString(1))); assertFalse(rs.next()); rs.close(); stmt.close(); return null; } }.run(); } catch (Exception e) { logger.error("testCompressedAuditTrail failed", e); throw e; } finally { closeContext(context); } assertEquals(EngineState.STOPPED, engine.getEngineState()); assertEquals(0, engine.getNumberOfWorkflowInstances()); }
From source file:org.copperengine.core.test.persistent.BasePersistentWorkflowTest.java
public void testWithConnection(String dsContext) throws Exception { assumeFalse(skipTests());//from w ww. j a v a 2 s .co m logger.info("running testWithConnection"); final int NUMB = 20; final ConfigurableApplicationContext context = createContext(dsContext); final DataSource ds = context.getBean(DataSource.class); cleanDB(ds); final PersistentScottyEngine engine = context.getBean(PersistentScottyEngine.class); engine.startup(); final BackChannelQueue backChannelQueue = context.getBean(BackChannelQueue.class); try { assertEquals(EngineState.STARTED, engine.getEngineState()); new RetryingTransaction<Void>(ds) { @Override protected Void execute() throws Exception { for (int i = 0; i < NUMB; i++) { engine.run(new WorkflowInstanceDescr<Serializable>( "org.copperengine.core.test.persistent.DBMockAdapterUsingPersistentUnitTestWorkflow"), getConnection()); } return null; } }.run(); for (int i = 0; i < NUMB; i++) { WorkflowResult x = backChannelQueue.dequeue(DEQUEUE_TIMEOUT, TimeUnit.SECONDS); assertNotNull(x); assertNull(x.getResult()); assertNull(x.getException()); } } finally { closeContext(context); } assertEquals(EngineState.STOPPED, engine.getEngineState()); assertEquals(0, engine.getNumberOfWorkflowInstances()); }
From source file:org.copperengine.core.test.persistent.BasePersistentWorkflowTest.java
public void testErrorHandlingInCoreEngine(String dsContext) throws Exception { assumeFalse(skipTests());//from www . ja v a2 s .c om final ConfigurableApplicationContext context = createContext(dsContext); cleanDB(context.getBean(DataSource.class)); final PersistentScottyEngine engine = context.getBean(PersistentScottyEngine.class); try { engine.startup(); final WorkflowInstanceDescr<Serializable> wfInstanceDescr = new WorkflowInstanceDescr<Serializable>( "org.copperengine.core.test.persistent.ExceptionThrowingPersistentUnitTestWorkflow"); wfInstanceDescr.setId(engine.createUUID()); engine.run(wfInstanceDescr); Thread.sleep(5000); // check new RetryingTransaction<Void>(context.getBean(DataSource.class)) { @Override protected Void execute() throws Exception { Statement stmt = createStatement(getConnection()); ResultSet rs = stmt.executeQuery("select * from COP_WORKFLOW_INSTANCE_ERROR"); assertTrue(rs.next()); assertEquals(wfInstanceDescr.getId(), rs.getString("WORKFLOW_INSTANCE_ID")); assertNotNull(rs.getString("EXCEPTION")); assertFalse(rs.next()); rs.close(); stmt.close(); return null; } }.run(); engine.restart(wfInstanceDescr.getId()); Thread.sleep(5000); new RetryingTransaction<Void>(context.getBean(DataSource.class)) { @Override protected Void execute() throws Exception { Statement stmt = createStatement(getConnection()); ResultSet rs = stmt.executeQuery("select * from COP_WORKFLOW_INSTANCE_ERROR"); assertTrue(rs.next()); assertEquals(wfInstanceDescr.getId(), rs.getString("WORKFLOW_INSTANCE_ID")); assertNotNull(rs.getString("EXCEPTION")); assertTrue(rs.next()); assertEquals(wfInstanceDescr.getId(), rs.getString("WORKFLOW_INSTANCE_ID")); assertNotNull(rs.getString("EXCEPTION")); assertFalse(rs.next()); rs.close(); stmt.close(); return null; } }.run(); } finally { closeContext(context); } assertEquals(EngineState.STOPPED, engine.getEngineState()); assertEquals(0, engine.getNumberOfWorkflowInstances()); }
From source file:org.copperengine.core.test.persistent.BasePersistentWorkflowTest.java
public void testErrorHandlingInCoreEngine_restartAll(String dsContext) throws Exception { assumeFalse(skipTests());/* www. ja va 2 s . c o m*/ final ConfigurableApplicationContext context = createContext(dsContext); cleanDB(context.getBean(DataSource.class)); final PersistentScottyEngine engine = context.getBean(PersistentScottyEngine.class); try { engine.startup(); final WorkflowInstanceDescr<Serializable> wfInstanceDescr = new WorkflowInstanceDescr<Serializable>( "org.copperengine.core.test.persistent.ExceptionThrowingPersistentUnitTestWorkflow"); wfInstanceDescr.setId(engine.createUUID()); engine.run(wfInstanceDescr); Thread.sleep(5000); // check new RetryingTransaction<Void>(context.getBean(DataSource.class)) { @Override protected Void execute() throws Exception { Statement stmt = createStatement(getConnection()); ResultSet rs = stmt.executeQuery("select * from COP_WORKFLOW_INSTANCE_ERROR"); assertTrue(rs.next()); assertEquals(wfInstanceDescr.getId(), rs.getString("WORKFLOW_INSTANCE_ID")); assertNotNull(rs.getString("EXCEPTION")); assertFalse(rs.next()); rs.close(); stmt.close(); return null; } }.run(); engine.restartAll(); Thread.sleep(5000); new RetryingTransaction<Void>(context.getBean(DataSource.class)) { @Override protected Void execute() throws Exception { Statement stmt = createStatement(getConnection()); ResultSet rs = stmt.executeQuery("select * from COP_WORKFLOW_INSTANCE_ERROR"); assertTrue(rs.next()); assertEquals(wfInstanceDescr.getId(), rs.getString("WORKFLOW_INSTANCE_ID")); assertNotNull(rs.getString("EXCEPTION")); assertTrue(rs.next()); assertEquals(wfInstanceDescr.getId(), rs.getString("WORKFLOW_INSTANCE_ID")); assertNotNull(rs.getString("EXCEPTION")); assertFalse(rs.next()); rs.close(); stmt.close(); return null; } }.run(); } finally { closeContext(context); } assertEquals(EngineState.STOPPED, engine.getEngineState()); assertEquals(0, engine.getNumberOfWorkflowInstances()); }