gwteventservice を使用してサービスからブラウザにデータをプッシュしようとしていますが、 MyServiceImpl.javaとは別のサービスからプッシュできません。状況は次のとおりです。クライアントからデータを読み取るサービスDifferentService.javaがあります。次に、 MyService.javaのサーバー側 (従来の gwt プロジェクト構造) を表すクラスMyServiceImpl.javaがあります。最後に、addEventメソッドを使用してデータをリスナー (gwteventservice のもの) に送信するクラスCallEvent.javaがあります。MyServiceImpl.java内でCallEventクラスをインスタンス化し、適切なメソッド ( addEvent) メッセージがリスナーに正常に配信されます。DifferentService.javaクラスから同じコードを呼び出しても、何も起こりませんでした (リスナーにメッセージが配信されません)。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 にあると思います。どう思いますか。ありがとうございました。
パベル