我試圖用gwteventservice將我的服務中的數據推送到瀏覽器,但我無法通過不同的服務從MyServiceImpl.java。 這裏是情況:我有服務DifferentService.java從客戶端讀取數據。然後我有MyServiceImpl.java,它代表服務器端MyService.java(clasic gwt項目結構)。最後,我有類CallEvent.java它使用addEvent方法發送數據給一個監聽器(gwteventservice的東西)。當我在MyServiceImpl.java中實例化CallEvent類並調用正確的方法(addEvent)時,消息被成功傳遞給偵聽器。當我從調用相同的代碼DifferentService.java class nothing happend(沒有消息傳遞給偵聽器)。 我認爲這是一個經典的情況,當數據需要從某個數據提供者發送到使用gwteventservice的客戶端。 你能幫我找到問題嗎?你在這種情況下使用哪種解決方案或方法? 以下是我用於數據傳輸的代碼片段。爲不同服務提供gwteventservice的數據
MsgEvent.java(表示消息中攜帶的數據 - gwteventstuff)
public class MsgEvent implements Event {
public static final Domain SERVER_MESSAGE_DOMAIN = DomainFactory.getDomain("my_domain");
public String message;
public MsgEvent(){}
public MsgEvent(String message) {
this.setMessage(message);
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
CallEvent.java(gwteventstuff)
public class CallEvent extends RemoteEventServiceServlet{
public void SendData(String data){
//create the event
Event theEvent = new MsgEvent("DagaMsg");
//add the event, so clients can receive it
addEvent(MsgEvent.SERVER_MESSAGE_DOMAIN, theEvent);
}
}
DifferentService.java
public class DifferentService{
...
//Reading string data from client
CallEvent ce = new CallEvent();
ce.SendData(stringData); //this code delivers nothing to a listener
...
}
MyServiceImpl.java(GWT東西)
public class MyServiceImpl extends RemoteEventServiceServlet implements MyService {
public void sendMessage(String message) {
CallEvent ce = new CallEvent();
ce.SendData("Data"); //this code deliver message succesfully to a listener
}
}
的web.xml(GWT和gwteventservice東西)
<web-app>
<!-- Default page to serve -->
<welcome-file-list>
<welcome-file>My.html</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>MyService</servlet-name>
<servlet-class>cz.pohanka.my.server.MyServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyService</servlet-name>
<url-pattern>/cz.pohanka.my.My/MyService</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>EventService</servlet-name>
<servlet-class>de.novanic.eventservice.service.EventServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>EventService</servlet-name>
<url-pattern>/cz.pohanka.my.My/gwteventservice</url-pattern>
</servlet-mapping>
</web-app>
我希望我已經包括一切重要。 我認爲這個問題可能在web.xml中。 您怎麼看。 謝謝。
帕維爾