Использование ajax для вызова JMS - PullRequest
0 голосов
/ 30 марта 2009

Привет, у меня есть следующий код:

Page1.jsp Функция ajax, вызываемая по нажатию кнопки

function ajaxFunction()
{
var xmlHttp;
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
xmlHttp.onreadystatechange=function()
    {
    if(xmlHttp.readyState==4)
      {
alert("Data loaded");
      }
    }
  xmlHttp.open("GET","page2.jsp",true);
  xmlHttp.send(null);
}

Page2.jsp

<%@ page import="javax.jms.*" %>

<%!
private QPublisher qPublisher = null;
public class QPublisher {

        private  TopicPublisher publisher = null;
        private  TopicSession   session   = null;
        public void configPublisher(){
               TopicConnectionFactory factory = null;
               TopicConnection connection = null;
                try {
                        factory = new com.tibco.tibjms.TibjmsTopicConnectionFactory("tcp");
                        connection = factory.createTopicConnection("user","pwd");
                session = connection.createTopicSession(false,javax.jms.Session.AUTO_ACKNOWLEDGE);
                javax.jms.Topic topic = session.createTopic("topic1");
                publisher = session.createPublisher(topic);
                } 
        }

        public void publish(String msg)
        {

                        javax.jms.TextMessage message = session.createTextMessage();
                        message.setText(msg);
                        publisher.publish(message);
            }
}
public void jspInit(){
        qPublisher = new QPublisher();
        qPublisher.configPublisher();
}
%>

<%
qPublisher.publish("This is a test for TT");
%>

Если я вызываю page2.jsp без использования ajax, то есть из page1.jsp, используя

<form action="page2.jsp"> 

сообщение выбирается подписчиком и отображается.

но не делая ajax ..

У меня есть базовое представление о ajax, поэтому, пожалуйста, укажите, что мне не хватает?

Ответы [ 2 ]

0 голосов
/ 01 апреля 2009

Вы уверены, что код Ajax успешно вызывает page2.jsp? Чтобы проверить это, вы можете просто заменить связанный с JMS код на что-то более простое, просто команду JSP, которая показывает «Hello World» на клиенте.

0 голосов
/ 30 марта 2009

Я знаю, что на самом деле это не ответ на ваш вопрос, но если вы не слишком привязаны к использованию строгих JSP и JMS, возможно, вы захотите исследовать фреймворки, которые выполняют эту задачу.

Например, это видео презентации на Как использовать Grails для создания твиттера за 40 минут . Презентация Грэм Роше [twitter] - технический директор G2One, в настоящее время принадлежащий Spring Source. В презентации Graeme создает полностью функциональный, AJAX , доступный для поиска, безопасный, клон Twitter на основе JMS .

Я уверен, что есть аналогичные примеры для других веб-фреймворков.

Как кто-то однажды сказал - «Не изобретайте колесо, если вы не действительно заинтересованы в изучении большого количества низкоуровневых деталей о колесах»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...