2012-08-30 84 views
1

我使用ActiveMQ作爲我的JMS提供程序和JSP來構建實時Web應用程序。 Web應用程序應該訂閱在其他一些應用程序中生成的主題。如何使用其Ajax功能訂閱ActiveMQ主題。

我已經在Tomcat中成功部署我的web應用程序。另外,我已將所有必需的jar文件放在lib目錄中。不過,我仍然收到錯誤消息,請參閱Google Chrome的以下錯誤信息。有人可以告訴我如何解決這個問題。

enter image description here

enter image description here

我的web.xml

 <context-param> 
     <param-name>org.apache.activemq.brokerURL</param-name> 
     <param-value>vm://localhost</param-value> 
     </context-param> 

    <servlet> 
      <servlet-name>AjaxServlet</servlet-name> 
      <servlet-class>org.apache.activemq.web.AjaxServlet</servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>AjaxServlet</servlet-name> 
     <url-pattern>/amq/*</url-pattern> 
    </servlet-mapping> 

    <servlet> 
     <servlet-name>MessageServlet</servlet-name> 
     <servlet-class>org.apache.activemq.web.MessageServlet</servlet-class> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>MessageServlet</servlet-name> 
     <url-pattern>/message/*</url-pattern> 
    </servlet-mapping> 

我的index.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
pageEncoding="ISO-8859-1"%> 
<!DOCTYPE html> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Rainbow for Nurse Station</title> 

<script type="text/javascript" src="amq/amq.js"></script> 
<script type="text/javascript"> 

var amq = org.activemq.Amq; 
amq.init({ 
uri: 'amq', 
logging: true, 
timeout: 20 
}); 


var myHandler = 
{ 
    rcvMessage: function(message) 
    { 
    document.writeln(message); 
    } 
}; 


amq.addListener("test", "topic://RAINBOW_NURSECALL", myHandler.rcvMessage); 

</script> 

</head> 
<body> 

None. 

</body> 

</html> 

回答

0

看來你只是錯過了包括以下2個腳本amq.js

<script type="text/javascript" src="<your_path>/jquery-1.4.2.min.js"></script> 
<script type="text/javascript" src="<your_path>/amq_jquery_adapter.js"></script> 

org.activemq.Amq因爲需要org.activemq.AmqAdapter