@Override public RoutingStatus route(final Message message, final Transaction tx, final boolean direct, final boolean rejectDuplicates, final Binding binding) throws Exception { return route(message, new RoutingContextImpl(tx), direct, rejectDuplicates, binding); }
@Override public void addQueueWithAck(SimpleString address, Queue queue) { addQueue(address, queue); RouteContextList listing = getContextListing(address); listing.addAckedQueue(queue); }
@Override public boolean isReusable(Message message, int version) { if (getPreviousBindingsVersion() != version) { this.reusable = false; } return isReusable() && queueCount > 0 && address.equals(previousAddress) && previousRoutingType == routingType; }
@Test public void testPagingManager() throws Exception { HierarchicalRepository<AddressSettings> addressSettings = new HierarchicalObjectRepository<>(); addressSettings.setDefault(new AddressSettings().setAddressFullMessagePolicy(AddressFullMessagePolicy.PAGE)); final StorageManager storageManager = new NullStorageManager(); PagingStoreFactoryNIO storeFactory = new PagingStoreFactoryNIO(storageManager, getPageDirFile(), 100, null, getOrderedExecutor(), true, null); PagingManagerImpl managerImpl = new PagingManagerImpl(storeFactory, addressSettings); managerImpl.start(); PagingStore store = managerImpl.getPageStore(new SimpleString("simple-test")); ICoreMessage msg = createMessage(1L, new SimpleString("simple-test"), createRandomBuffer(10)); final RoutingContextImpl ctx = new RoutingContextImpl(null); Assert.assertFalse(store.page(msg, ctx.getTransaction(), ctx.getContextListing(store.getStoreName()), lock)); store.startPaging(); Assert.assertTrue(store.page(msg, ctx.getTransaction(), ctx.getContextListing(store.getStoreName()), lock)); Page page = store.depage(); page.open(); List<PagedMessage> msgs = page.read(new NullStorageManager()); page.close(); Assert.assertEquals(1, msgs.size()); ActiveMQTestBase.assertEqualsByteArrays(msg.getBodyBuffer().writerIndex(), msg.getBodyBuffer().toByteBuffer().array(), (msgs.get(0).getMessage()).toCore().getBodyBuffer().toByteBuffer().array()); Assert.assertTrue(store.isPaging()); Assert.assertNull(store.depage()); final RoutingContextImpl ctx2 = new RoutingContextImpl(null); Assert.assertFalse(store.page(msg, ctx2.getTransaction(), ctx2.getContextListing(store.getStoreName()), lock)); }
postOffice.route(copy, new RoutingContextImpl(context.getTransaction()).setReusable(false), false);
@Override public List<Queue> getNonDurableQueues(SimpleString address) { return getContextListing(address).getNonDurableQueues(); }
@Override public void processReferences(final List<MessageReference> refs, final boolean direct) { internalprocessReferences(refs, direct); }
final RoutingContextImpl ctx = new RoutingContextImpl(null); Assert.assertTrue(store.page(msg, ctx.getTransaction(), ctx.getContextListing(store.getStoreName()), lock)); final RoutingContextImpl ctx = new RoutingContextImpl(null); Assert.assertTrue(store.page(msg, ctx.getTransaction(), ctx.getContextListing(store.getStoreName()), lock)); final RoutingContextImpl ctx2 = new RoutingContextImpl(null); Assert.assertFalse(store.page(msg, ctx2.getTransaction(), ctx2.getContextListing(store.getStoreName()), lock)); final RoutingContextImpl ctx2 = new RoutingContextImpl(null); Assert.assertTrue(store.page(msg, ctx2.getTransaction(), ctx2.getContextListing(store.getStoreName()), lock));
@Override public List<Queue> getDurableQueues(SimpleString address) { return getContextListing(address).getDurableQueues(); }
@Test public void testStore() throws Exception { SequentialFileFactory factory = new FakeSequentialFileFactory(); PagingStoreFactory storeFactory = new FakeStoreFactory(factory); AddressSettings addressSettings = new AddressSettings().setAddressFullMessagePolicy(AddressFullMessagePolicy.PAGE); PagingStore storeImpl = new PagingStoreImpl(PagingStoreImplTest.destinationTestName, null, 100, createMockManager(), createStorageManagerMock(), factory, storeFactory, PagingStoreImplTest.destinationTestName, addressSettings, getExecutorFactory().getExecutor(), true); storeImpl.start(); Assert.assertEquals(0, storeImpl.getNumberOfPages()); storeImpl.startPaging(); Assert.assertEquals(1, storeImpl.getNumberOfPages()); List<ActiveMQBuffer> buffers = new ArrayList<>(); ActiveMQBuffer buffer = createRandomBuffer(0, 10); buffers.add(buffer); SimpleString destination = new SimpleString("test"); Message msg = createMessage(1, storeImpl, destination, buffer); Assert.assertTrue(storeImpl.isPaging()); final RoutingContextImpl ctx = new RoutingContextImpl(null); Assert.assertTrue(storeImpl.page(msg, ctx.getTransaction(), ctx.getContextListing(storeImpl.getStoreName()), lock)); Assert.assertEquals(1, storeImpl.getNumberOfPages()); storeImpl.sync(); storeImpl = new PagingStoreImpl(PagingStoreImplTest.destinationTestName, null, 100, createMockManager(), createStorageManagerMock(), factory, storeFactory, PagingStoreImplTest.destinationTestName, addressSettings, getExecutorFactory().getExecutor(), true); storeImpl.start(); Assert.assertEquals(1, storeImpl.getNumberOfPages()); }
@Override public RoutingStatus route(final Message message, final Transaction tx, final boolean direct) throws Exception { return route(message, new RoutingContextImpl(tx), direct); }
@Override public void addQueue(final SimpleString address, final Queue queue) { RouteContextList listing = getContextListing(address); if (queue.isDurableMessage()) { listing.getDurableQueues().add(queue); } else { listing.getNonDurableQueues().add(queue); } queueCount++; }
final RoutingContextImpl ctx = new RoutingContextImpl(null); Assert.assertTrue(storeImpl.page(msg, ctx.getTransaction(), ctx.getContextListing(storeImpl.getStoreName()), lock));
private void sendToQueue(Message message, Queue queue, Transaction tx) throws Exception { RoutingContext context = new RoutingContextImpl(tx); queue.route(message, context); session.getServer().getPostOffice().processRoute(message, context, false); } }
final RoutingContextImpl ctx = new RoutingContextImpl(null); storeImpl2.page(lastMsg, ctx.getTransaction(), ctx.getContextListing(storeImpl2.getStoreName()), lock); buffers2.put(lastMessageId, lastMsg);
private void sendToQueue(Message message, Queue queue, Transaction tx) throws Exception { RoutingContext context = new RoutingContextImpl(tx); queue.route(message, context); session.getServer().getPostOffice().processRoute(message, context, false); } }
private void routeQueueInfo(final Message message, final Queue queue, final boolean applyFilters) throws Exception { if (!applyFilters || queue.getFilter() == null || queue.getFilter().match(message)) { RoutingContext context = new RoutingContextImpl(null); queue.route(message, context); processRoute(message, context, false); } }
RoutingContext routingContext = new RoutingContextImpl(tx);
RoutingContext context = new RoutingContextImpl(tx);
protected final RoutingContext routingContext = new RoutingContextImpl(null);