rdhabalia opened a new pull request #7252:
URL: https://github.com/apache/pulsar/pull/7252


   ### Motivation
   We create a websocket proxy bundle as separate deployment without depending 
on broker or any other components. Right now, websocket proxy fails at startup 
with below error:
   This is failing because websocket requires `jersey-hk2` into classpath to 
start webserver but it's not failing with `./bin/pulsar websocket` because it 
keeps broker's dependent jars into the classpath and it already has required 
`jersey-hk2` in the classpath.
   ```
   20:09:09.698 [main] INFO o.a.p.w.s.WebSocketServiceStarter - Loading 
configuration from 
/home/y/conf/cloud_messaging_websocket_proxy/websocket-proxy.conf
   20:09:09.852 [main] INFO org.eclipse.jetty.util.log - Logging initialized 
@899ms to org.eclipse.jetty.util.log.Slf4jLog
   20:09:10.317 [main] INFO o.a.p.websocket.service.ProxyServer - Starting web 
socket proxy at port 8080
   20:09:10.343 [main] INFO org.eclipse.jetty.server.Server - 
jetty-9.4.12.v20180830; built: 2018-08-30T13:59:14.071Z; git: 
27208684755d94a92186989f695db2d7b21ebc51; jvm 1.8.0_121-b34
   20:09:10.429 [main] INFO org.eclipse.jetty.server.session - 
DefaultSessionIdManager workerName=node0
   20:09:10.430 [main] INFO org.eclipse.jetty.server.session - No 
SessionScavenger set, using defaults
   20:09:10.432 [main] INFO org.eclipse.jetty.server.session - node0 Scavenging 
every 600000ms
   20:09:10.474 [main] INFO o.e.j.server.handler.ContextHandler - Started 
o.e.j.s.ServletContextHandler@42a48628
   
   {/ws/producer,null,AVAILABLE}
   20:09:10.477 [main] INFO o.e.j.server.handler.ContextHandler - Started 
o.e.j.s.ServletContextHandler@293a5bf6
   
   {/ws/consumer,null,AVAILABLE}
   20:09:10.479 [main] INFO o.e.j.server.handler.ContextHandler - Started 
o.e.j.s.ServletContextHandler@6aeb35e6
   
   {/ws/reader,null,AVAILABLE}
   20:09:10.480 [main] INFO o.e.j.server.handler.ContextHandler - Started 
o.e.j.s.ServletContextHandler@1283bb96
   
   {/ws/v2/producer,null,AVAILABLE}
   20:09:10.481 [main] INFO o.e.j.server.handler.ContextHandler - Started 
o.e.j.s.ServletContextHandler@74f0ea28
   
   {/ws/v2/consumer,null,AVAILABLE}
   20:09:10.483 [main] INFO o.e.j.server.handler.ContextHandler - Started 
o.e.j.s.ServletContextHandler@f6efaab
   
   {/ws/v2/reader,null,AVAILABLE}
   20:09:10.562 [main] WARN o.e.j.s.handler.ContextHandler.admin - unavailable
   java.lang.IllegalStateException: InjectionManagerFactory not found.
   at 
org.glassfish.jersey.internal.inject.Injections.lambda$lookupInjectionManagerFactory$0(Injections.java:98)
   at java.util.Optional.orElseThrow(Optional.java:290)
   at 
org.glassfish.jersey.internal.inject.Injections.lookupInjectionManagerFactory(Injections.java:98)
   at 
org.glassfish.jersey.internal.inject.Injections.createInjectionManager(Injections.java:93)
   at 
org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:282)
   at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:335)
   at 
org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:178)
   at 
org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:370)
   at javax.servlet.GenericServlet.init(GenericServlet.java:244)
   at 
org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:670)
   at org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:427)
   at 
org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:760)
   ```
   
   ### Modification
   Add `jersey-hk2` into websocket proxy classpath.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to