Пример push-уведомления Primefaces не работает с wildfly 9.0.2

Я попытался сделать пример уведомления о нажатии простых лиц в 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>

Я использую Wildfly 9.0.2, Primefaces 5.2, commons-lang3-3.4 и пробую версии с атмосферой: 2.1.7, 2.4.0-RC6 и 2.4.5.

Ошибка журнала:

14:31:29,771 ОШИБКА [io.undertow.request] (задача по умолчанию-24) UT005023: запрос обработки исключений в /Primefaces2_1/primepush/notify: java.lang.NoSuchMethodError: org.atmosphere.cpr.AtmosphereServlet.configureFramework(Ljavax/ сервлет/ServletConfig;Z)Lorg/атмосфера/cpr/AtmosphereServlet; в org.primefaces.push.PushServlet.configureFramework(PushServlet.java:67) в org.primefaces.push.PushServlet.configureFramework(PushServlet.java:36) в org.atmosphere.cpr.AtmosphereServlet.init(AtmosphereServlet.java:80 )...


person mf8951    schedule 24.08.2016    source источник
comment
а ты их читал? Это было первое, что я сделал, если не приведешь просто ничего не говори, ты должен понимать, что есть люди, которые плохо знакомы с темой, особенно если ты состоишь в этом сообществе   -  person mf8951    schedule 24.08.2016
comment
Ну, я не хотел, чтобы это было оскорблением, просто чтобы быть уверенным. Вероятно, вы их проверяли, но есть много людей, которые задают вопросы, не проводя никаких исследований. В любом случае, перейдем к делу, документы для вашей версии PF говорят, что вы должны использовать версию 2.3.RC6 среды выполнения атмосферы, которую вы, похоже, не тестировали. Они также говорят, что он должен работать с более новыми версиями, такими как 2.4, что должно внести небольшое изменение, но может нарушить совместимость (кстати, немного странно). Однако я бы определенно попробовал 2.3.RC6, так как трассировка все-таки указывает на несоответствие версии.   -  person Xtreme Biker    schedule 24.08.2016
comment
Прошу прощения за преувеличение, но это казалось упрощенным ответом на мой вопрос, и поэтому я почувствовал намек. По поводу атмо-рантайма 2.3 RC6 получаю ту же ошибку. Другой вопрос: Атмосфера создает конфликты с дикой мухой?, потому что я видел, что у кота или стеклянной рыбы всегда есть какие-либо ответы на форумах, но нет с дикой мухой.   -  person mf8951    schedule 25.08.2016
comment
может быть, не пробовал себя в дико. Я не использую функцию push, но однажды я настроил ее в tomcat, просто следуя обычным шагам. Вы пытаетесь настроить его в новом проекте? У вас есть общие библиотеки в дикой природе?   -  person Xtreme Biker    schedule 25.08.2016
comment
Да, я попробовал это в новом проекте, а затем передал его проекту, в котором я работаю. По-видимому, это связано с использованием wildfly, я попробовал то же самое с Glassfish, и это работает. В Glassfish работает с атмосферой-средой выполнения 2.1.7 и commons-lang3-3.1. Ну, я продолжаю пытаться   -  person mf8951    schedule 26.08.2016


Ответы (1)


Наконец я нашел решение:

Использование библиотек для среды выполнения и jboss-as-websockets работает.

спасибо за помощь Xtreme Biker

person mf8951    schedule 26.08.2016