0

wildfly 9.0.2でprimefaces pushの通知例を試しましたが、うまくいきませんでした。エラーを検索しましたが、ここに私のコードは次のとおりです。Primeface Push notify exampleがwildflyで動作しない9.0.2

とアドバイス

インデックスへの感謝:

<h:head> 
    <title>Facelet Title</title> 
</h:head> 
<h:body> 
    <p:growl widgetVar="growl" showDetail="true" /> 

    <h:form> 
     <h:panelGrid columns="2"> 
      <p:outputLabel for="summary" value="Summary: " /> 
      <p:inputText id="summary" value="#{notifyView.summary}" required="true" /> 

      <p:outputLabel for="detail" value="Detail: " /> 
      <p:inputText id="detail" value="#{notifyView.detail}" required="true" /> 
     </h:panelGrid> 

     <p:commandButton value="Send" actionListener="#{notifyView.send}" /> 
    </h:form> 

    <p:socket onMessage="handleMessage" channel="/notify" /> 

    <script type="text/javascript"> 
     function handleMessage(facesmessage) { 
      facesmessage.severity = 'info'; 

      PF('growl').show([facesmessage]); 
     } 
    </script> 
</h:body> 

NotifyView.java:

public class NotifyView { 

private final static String CHANNEL = "/notify"; 

private String summary; 

private String detail; 

public String getSummary() { 
    return summary; 
} 
public void setSummary(String summary) { 
    this.summary = summary; 
} 

public String getDetail() { 
    return detail; 
} 
public void setDetail(String detail) { 
    this.detail = detail; 
} 

public void send() { 
    EventBus eventBus = EventBusFactory.getDefault().eventBus(); 
    eventBus.publish(CHANNEL, new FacesMessage(StringEscapeUtils.escapeHtml3(summary), StringEscapeUtils.escapeHtml3(detail))); 
}} 

NotifyResource.java:

@PushEndpoint("/notify") 

パブリッククラスNotifyResource {

@OnMessage(encoders = {JSONEncoder.class}) 
public FacesMessage onMessage(FacesMessage message) { 
    return message; 
} 

}

そして最後のweb.xml:

<servlet> 
    <servlet-name>Push Servlet</servlet-name> 
    <servlet-class>org.primefaces.push.PushServlet</servlet-class> 
    <async-supported>true</async-supported> 
</servlet> 
<servlet-mapping> 
    <servlet-name>Push Servlet</servlet-name> 
    <url-pattern>/primepush/*</url-pattern> 
</servlet-mapping> 

私は9.0.2、Primefaces Wildfly使用5.2、commons-lang3-3.4 と大気ランティ私のバージョン:2.1.7、2.4.0-RC6および2.4.5

ログエラー:

14:31:29,771 ERROR [io.undertow.request] (default task-24) UT005023: Exception handling request to /Primefaces2_1/primepush/notify: java.lang.NoSuchMethodError: org.atmosphere.cpr.AtmosphereServlet.configureFramework(Ljavax/servlet/ServletConfig;Z)Lorg/atmosphere/cpr/AtmosphereServlet; at org.primefaces.push.PushServlet.configureFramework(PushServlet.java:67) at org.primefaces.push.PushServlet.configureFramework(PushServlet.java:36) at org.atmosphere.cpr.AtmosphereServlet.init(AtmosphereServlet.java:80)...

+0

あなたはそれらを読んでいますか?それは私がやった最初のことでした。もしあなたが何も言わないなら、トピックに新しい人がいることを理解しなければなりません。特にあなたがこのコミュニティに属しているならば。 – mf8951

+0

確かに、犯行になる。おそらくあなたはそれらをチェックしましたが、何の調査もせずに質問をする多くの人がいます。とにかく、現場に行くと、あなたのPFバージョンのドキュメントは、あなたがテストしていないと思われる雰囲気ランタイムのバージョン2.3.RC6を利用すべきだと言います。彼らはまた、それはマイナーな変更を行う必要がありますが、互換性(少し奇妙な、)途方もないことができる2.4など、より新しいバージョンで動作する必要があると言う。しかし、トレースはバージョンミスマッチを指しているので、2.3.RC6を試してみるのは間違いありません。 –

+0

私はexaltについて謝罪しますが、それは私の質問に対する単純な答えのように思えました。大気ランタイム2.3 RC6については、私は同じエラーが発生します。 もう一つ質問があります:大気圏は野生動物との衝突を引き起こしますか?私はいつも風邪やグラスフィッシュがフォーラムで何か答えを持っているのを見ましたが、ワイルドフライではありませんでした – mf8951

答えて

0

最後に、私は解決策を見つけた:

雰囲気ランタイムネイティブとjboss-を使用してas-websocketsライブラリが動作します。

Xtreme Bikerに助けてくれてありがとう

関連する問題