Как настроить фиктивное приложение Vaadin 8 в Eclipse в Equinox OSGI с помощью push over websocket? - PullRequest
0 голосов
/ 21 июня 2019

Я попытался создать простое приложение Vaadin без каких-либо зависимостей Maven в Eclipse. Я скачал Vaadin 8.8.2 с Jetty 9.4.18.v20190429 (также пробовал с 9.3.24). my_git_project

У меня есть 4 класса (это было взято из примера lunifera, который Ваадин также использует в своей части документации: lunifera_git_project

Проблема начинается, когда я пытаюсь использовать Push. С настройками: @Push(value = PushMode.AUTOMATIC, transport = Transport.WEBSOCKET) и более класс сервлетов @WebServlet(asyncSupported = true) сессия истекает немедленно.

Я знаю, что на этом форуме довольно много тем, но настройка LONG.POLLING не является решением, которое мне нужно.

Когда я пытался запустить приложение Vaadin с Maven, я вижу, что для контейнера Atmosphere установлено значение JSR356AsyncSupport. Но в моем случае было установлено значение Jetty9AsyncSupportWithWebSocket.

После некоторого поиска в Google, а также на официальном сайте Jetty написано, какие пакеты мне следует использовать для активации Servlet 3.0+. Поэтому я попытался использовать их, но затем у меня возникли проблемы с:

Real error: Unable to configure jsr356 at that stage. ServerContainer is null";;"Exception: java.lang.IllegalStateException: Unable to configure jsr356 at that stage. ServerContainer is null.

Вот список активированных пакетов: (Держу пари, некоторые из них мне не нужны, но я пробовал некоторые комбинации, чтобы сделать контейнер JSR доступным)

Из того, что я обнаружил, может быть какая-то зависимость от начального уровня комплектов или даже используемый класс ServiceComponent от lunifera больше не должен использоваться и использоваться другим способом?

"Framework is launched."
id  State       Bundle
0   ACTIVE      org.eclipse.osgi_3.13.200.v20181130-2106
1   ACTIVE      org.jsoup_1.11.2
2   ACTIVE      com.vaadin.server_8.8.2
3   ACTIVE      org.eclipse.jetty.http_9.4.18.v20190429
4   ACTIVE      com.vaadin.external.org.slf4j_1.6.1
5   ACTIVE      org.eclipse.jetty.websocket.servlet_9.4.18.v20190429
6   ACTIVE      org.apache.felix.scr_2.1.6
7   ACTIVE      org.eclipse.jetty.websocket.api_9.4.18.v20190429
8   ACTIVE      org.eclipse.equinox.http.servletbridge_1.1.100.v20180827-1235
10  ACTIVE      json_20180813.0.0
11  ACTIVE      org.eclipse.jetty.security_9.4.18.v20190429
12  ACTIVE      com.vaadin.external.atmosphere.runtime_2.4.30.vaadin1
13  ACTIVE      com.vaadin.push_8.8.2
14  ACTIVE      org.eclipse.equinox.console_1.3.200.v20181115-0906
15  ACTIVE      org.apache.felix.gogo.command_1.0.2.v20170914-1324
16  ACTIVE      org.eclipse.osgi.services_3.8.0.v20190206-2147
17  ACTIVE      javax.servlet-api_3.1.0
18  ACTIVE      org.apache.felix.gogo.runtime_1.1.0.v20180713-1646
19  ACTIVE      ch.qos.logback.classic_1.0.7.v20121108-1250
20  ACTIVE      org.eclipse.jetty.server_9.4.18.v20190429
21  ACTIVE      org.eclipse.equinox.http.servlet_1.6.0.v20190305-2225
22  ACTIVE      com.vaadin.compatibility-themes_8.8.2
25  ACTIVE      org.eclipse.equinox.cm_3.2.0.v20070116
26  ACTIVE      org.eclipse.equinox.ds_1.6.0.v20190122-0806
27  ACTIVE      com.vaadin.external.gentyref_1.2.0.vaadin1
29  ACTIVE      com.vaadin.shared_8.8.2
31  ACTIVE      org.eclipse.equinox.preferences_3.7.200.v20180827-1235
32  ACTIVE      org.eclipse.jetty.websocket.common_9.4.18.v20190429
33  ACTIVE      org.eclipse.jetty.util_9.4.18.v20190429
34  ACTIVE      ch.qos.logback.core_1.0.7.v20121108-1250
36  ACTIVE      org.apache.aries.spifly.dynamic.bundle_1.2.1
38  ACTIVE      org.eclipse.jetty.websocket.server_9.4.18.v20190429
39  ACTIVE      com.vaadin.client-compiled_8.8.2
40  ACTIVE      org.eclipse.equinox.common_3.10.200.v20181021-1645
41  ACTIVE      org.slf4j.api_1.7.2.v20121108-1250
42  ACTIVE      org.apache.felix.gogo.shell_1.1.0.v20180713-1646
43  ACTIVE      org.eclipse.equinox.servletbridge_1.4.200.v20181008-1820
44  ACTIVE      org.eclipse.jetty.io_9.4.18.v20190429
45  ACTIVE      org.eclipse.jetty.servlet_9.4.18.v20190429
46  ACTIVE      org.eclipse.equinox.util_1.1.200.v20181008-1820
47  ACTIVE      org.eclipse.equinox.http.jetty_3.7.0.v20190305-2216
50  ACTIVE      org.osgi.framework_1.9.0.201802012106
55  ACTIVE      org.osgi.service.http_3.5.0.LIFERAY-PATCHED-2
58  ACTIVE      org.eclipse.jetty.websocket.client_9.4.18.v20190429
59  ACTIVE      org.eclipse.jetty.websocket.javax.websocket.server_9.4.18.v20190429
60  ACTIVE      org.eclipse.jetty.client_9.4.18.v20190429
61  ACTIVE      org.eclipse.jetty.websocket.javax.websocket_9.4.18.v20190429
63  ACTIVE      org.eclipse.jetty.xml_9.4.18.v20190429
64  ACTIVE      javax.websocket-api_1.1.0
65  ACTIVE      org.objectweb.asm.tree.analysis_7.0.0
69  ACTIVE      org.objectweb.asm_7.0.0
70  ACTIVE      org.objectweb.asm.commons_7.0.0
71  ACTIVE      org.objectweb.asm.tree_7.0.0
76  ACTIVE      org.objectweb.asm.util_7.0.0
79  ACTIVE      org.eclipse.equinox.event_1.5.0.v20181008-1938
81  ACTIVE      org.eclipse.jetty.continuation_9.4.18.v20190429
83  ACTIVE      javax.annotation-api_1.3.0
84  ACTIVE      javax.el-api_3.0.0
85  ACTIVE      org.eclipse.jetty.annotations_9.4.18.v20190429
86  ACTIVE      javax.interceptor-api_1.2.0
88  ACTIVE      org.eclipse.jetty.jndi_9.4.18.v20190429
89  ACTIVE      javax.enterprise.cdi-api_1.2.0
90  ACTIVE      org.eclipse.jetty.webapp_9.4.18.v20190429
91  ACTIVE      org.eclipse.jetty.plus_9.4.18.v20190429
92  ACTIVE      org.apache.geronimo.specs.geronimo-jta_1.1_spec_1.1.1
98  ACTIVE      javax.transaction-api_1.3.0
99  ACTIVE      javax.inject_1.0.0.v20091030
102 ACTIVE      vaadin.osgi.test_1.0.0.qualifier

Мой вопрос: может ли кто-нибудь быть таким милым и немного пересмотреть настройки моего проекта в Eclipse с помощью Equinox? Какие пакеты заканчиваются в каком порядке? ИЛИ я что-то упустил?

Большое спасибо

...