Has anyone used ClusterTopic successfully in versions > 4.0.27?
Dan
On Jan 14, 2013, at 1:56 PM, Dan Ziegelbein wrote:
> Below is a simple servlet/MDB/resin-web combo that sends/reads a
> message. It works in 4.0.27 but does not work in later versions. By
> "does not work" I mean that the message does not appear to be sent at
> all. At the 'fine' logging level there is an entry like:
> [13-01-14 13:47:59.091] {resin-port-8080-39}
> ClusterTopic[TestClusterTopic] sending
> TextMessageImpl[ID:5dQYaEuP/vkAE8OpoeJQAA]
>
> but never a subsequent entry like:
> [13-01-14 13:51:22.083]
> {ValueItemProcessor[PacketProcessor[[email protected]]]}
> FileSubscriberQueue[TestClusterTopic] send message
> TextMessageImpl[ID:/bKgP3znGffAE8Op2cowAA]
>
> and never an entry indicating that the message was received by either
> server in the cluster.
>
> For my testing, the only configuration changes that I made to resin's
> out-of-the-box config were the following properties:
>
> log_level : fine
> app_servers : 127.0.0.1:6801 127.0.0.1:6802
> app-0.http : 8080
> app-1.http : 8081
> admin_user : test
> admin_password : {plain}test
>
>
> Am I doing something wrong and I just got lucky that it worked in
> earlier versions?
>
> Dan
>
>
> /**
> * Servlet implementation class CtTest
> */
> public class CtTest extends HttpServlet {
> private static final long serialVersionUID = 1L;
>
> @javax.inject.Inject
> ClusterTopic<? extends Serializable> _topic;
>
> @Resource(mappedName = "jms/TestConnectionFactory")
> JmsConnectionFactory factory = new
> com.caucho.jms.JmsConnectionFactory();
>
> /**
> * @see HttpServlet#HttpServlet()
> */
> public CtTest() {
> super();
> }
>
> /**
> * @see Servlet#init(ServletConfig)
> */
> public void init(ServletConfig config) throws ServletException {
>
> try {
>
> // Initialize JMS objects
> TopicConnection conn = factory.createTopicConnection();
> Session session = conn.createSession(false,
> Session.AUTO_ACKNOWLEDGE);
> MessageConsumer consumer =
> session.createConsumer(_topic);
> consumer.setMessageListener(new TestListener());
>
> // Subscribe to the topic.
> _topic.subscribeTopic();
>
> conn.start();
>
> } catch (JMSException je) {
> System.out.println(je.toString());
> }
> }
>
> /**
> * @see HttpServlet#doGet(HttpServletRequest request,
> HttpServletResponse
> * response)
> */
> protected void doGet(HttpServletRequest request,
> HttpServletResponse response) throws ServletException,
> IOException {
>
> try {
> // Initialize JMS objects
> TopicConnection conn = factory.createTopicConnection();
>
> // Publish the message.
> TopicSession jmsSession =
> conn.createTopicSession(false, 1);
> TopicPublisher publisher =
> jmsSession.createPublisher(_topic);
> Message msg = jmsSession.createTextMessage("test Get");
> System.out.println("**** Sending message");
>
> ServletOutputStream out = response.getOutputStream();
>
> publisher.publish(msg);
>
> response.setContentType("text/plain");
> out.print("Message Sent");
> out.close();
> } catch (JMSException je) {
> // Do exception handling
> }
> }
>
> }
>
>
> @MessageDriven(mappedName="TestClusterTopic",
> activationConfig={@ActivationConfigProperty(
> propertyName="destinationType", propertyValue="javax.jms.Topic")})
> public class TestListener implements MessageListener {
>
> public TestListener()
> {
> }
>
> public void onMessage(Message msg)
> {
> try {
> System.out.println(String.format("**** Received
> message: '%s'",
> ((TextMessage)msg).getText()));
> } catch (JMSException e) {
> // TODO Auto-generated catch block
> e.printStackTrace();
> }
> }
> }
>
>
> <web-app xmlns='http://caucho.com/ns/resin'
> xmlns:jms="urn:java:com.caucho.jms"
> xmlns:resin="urn:java:com.caucho.resin"
> xmlns:ee="urn:java:ee">
>
> <resin:JmsConnectionFactory resin:Jndi="jms/TestConnectionFactory"/>
>
> <jms:ClusterTopic>
> <jms:name>TestClusterTopic</jms:name>
> </jms:ClusterTopic>
>
> <servlet>
> <servlet-name>cttest</servlet-name>
> <load-on-startup/>
> <servlet-class>com.sendthisfile.trouble.CtTest</servlet-class>
> </servlet>
> <servlet-mapping servlet-name="cttest" url-pattern="/test"/>
>
> </web-app>
>
>
> _______________________________________________
> resin-interest mailing list
> [email protected]
> http://maillist.caucho.com/mailman/listinfo/resin-interest
>
_______________________________________________
resin-interest mailing list
[email protected]
http://maillist.caucho.com/mailman/listinfo/resin-interest