Messenger facade: MessengerFactory.createMessenger() now takes app-region as parameter

* Allows single factory to be specified and individual consumers to use it to create appropriate application-region-scoped messengers.
* New interface more appropriate for where non-DI use will be required, e.g. Ehcache peer providers.



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@33846 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Matt Ward
2012-02-13 11:08:20 +00:00
parent b9cfc43929
commit ac387f5f7b
10 changed files with 46 additions and 63 deletions

View File

@@ -19,14 +19,16 @@
package org.alfresco.repo.cluster;
import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.*;
import static org.junit.Assert.assertSame;
import static org.mockito.Mockito.when;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
import com.hazelcast.core.HazelcastInstance;
import com.hazelcast.core.ITopic;
@@ -39,20 +41,23 @@ import com.hazelcast.core.ITopic;
public class HazelcastMessengerFactoryTest
{
private HazelcastMessengerFactory factory;
private @Mock ITopic<Object> topic;
private @Mock HazelcastInstance hazelcast;
private @Mock ITopic<String> topic;
@Before
public void setUp()
{
factory = new HazelcastMessengerFactory();
factory.setTopic(topic);
factory.setHazelcast(hazelcast);
}
@Test
public void topicWrappedInMessenger()
{
when(topic.getName()).thenReturn("app-region");
HazelcastMessenger messenger = (HazelcastMessenger) factory.createMessenger();
assertEquals("app-region", messenger.getTopicName());
when(hazelcast.<String>getTopic("app-region")).thenReturn(topic);
Messenger<String> messenger = factory.createMessenger("app-region");
assertSame(topic, ((HazelcastMessenger<String>) messenger).getTopic());
}
}