如何使用Grizzly嵌入式服务器在Jersey-Spring中配置现有的应用程序上下文?

丹尼尔·布雷泽克

启动嵌入式Grizzly服务器时,我希望Jersey使用现有的Spring容器。这在jersey-1.0(Grizzly,共享spring生成的上下文)中是可能的,但是在Jersey 2.x中似乎不起作用。

该代码在Jersey 1.17中有效:

HttpServer server = new HttpServer();
final NetworkListener listener = new NetworkListener("grizzly", NetworkListener.DEFAULT_NETWORK_HOST, PACS.RESTPort);
listener.setSecure(false);
server.addListener(listener);
ResourceConfig rc = new PackagesResourceConfig("edu.mayo.qia.pacs.rest");

// Let Jersey know about our existing context
SpringComponentProviderFactory handler = new SpringComponentProviderFactory(rc, PACS.context);
HttpHandler processor = ContainerFactory.createContainer(HttpHandler.class, rc, handler);
server.getServerConfiguration().addHttpHandler(processor, "");

server.start();

这是我在Jersey 2中的代码(我想不出SpringComponentProviderFactory的替代品):

HttpServer server = new HttpServer();

final NetworkListener listener = new NetworkListener("grizzly", NetworkListener.DEFAULT_NETWORK_HOST, PACS.RESTPort);
server.addListener(listener);

ResourceConfig rc = new ResourceConfig();
rc.packages("edu.mayo.qia.pacs.rest");
HttpHandler processor = ContainerFactory.createContainer(GrizzlyHttpContainer.class, rc);
server.getServerConfiguration().addHttpHandler(processor, "");

当我运行代码(使用jersey-spring3)时,出现以下异常:

Caused by: org.springframework.beans.factory.BeanDefinitionStoreException:
IOException parsing XML document from class path resource [applicationContext.xml];
nested exception is java.io.FileNotFoundException: class path resource [applicationContext.xml] cannot be opened because it does not exist

Grizzly试图从applicationContext.xml加载我的Spring上下文,但是它基于注释并且已经加载。如何让灰熊和/或泽西岛找到我的背景?

IVY Config是:

<dependency org="org.glassfish.jersey.core" name="jersey-client" rev="2.3"/>
<dependency org="org.glassfish.jersey.core" name="jersey-server" rev="2.3"/>
<dependency org="org.glassfish.jersey.core" name="jersey-common" rev="2.3"/>
<dependency org="org.glassfish.jersey.connectors" name="jersey-grizzly-connector" rev="2.3"/>
<dependency org="org.glassfish.jersey.containers" name="jersey-container-grizzly2-http" rev="2.3"/>
<dependency org="org.glassfish.jersey.ext" name="jersey-spring3" rev="2.3"/>
遮罩

我遇到了完全相同的问题...您只需要将现有上下文与Grizzly链接即可。就我而言ClassPathXmlApplicationContext

yourContext = new ClassPathXmlApplicationContext("application-context.xml");

ResourceConfig rc = new ResourceConfig(HazelcastRestService.class);
rc.property("contextConfig", yourContext);

URI uri = new JerseyUriBuilder().host("0.0.0.0").port(8888).build();
httpServer = GrizzlyHttpServerFactory.createHttpServer(uri, rc);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Spring Framework 4中初始化应用程序上下文

来自分类Dev

如何在Spring 2.5中从字符串加载应用程序上下文?

来自分类Dev

使业务域对象可用于嵌入式Jetty服务器中的Jersey Servlet上下文

来自分类Dev

Intellij 中 Tomcat 服务器的自动“应用程序上下文”

来自分类Dev

如何关闭Spring Boot嵌入式服务器

来自分类Dev

如何以编程方式从应用程序上下文创建 spring xml 配置文件?

来自分类Dev

如何使一个类了解Spring MVC中的多个应用程序上下文?

来自分类Dev

如何从Eclipse中的命令处理程序事件中找出应用程序上下文

来自分类Dev

WatchConnectivity-检测所有控制器中的应用程序上下文更改

来自分类Dev

无法使用Maven筛选应用程序上下文从Eclipse运行服务器

来自分类Dev

两个spring应用程序都使用特定的jar和应用程序上下文-如何控制从上下文从哪个应用程序中获取bean?

来自分类Dev

如何在Spring的应用程序上下文中添加http会话管理标签?

来自分类Dev

在onStartCommand()中,“ this”是指服务或应用程序上下文吗?

来自分类Dev

如何从测试应用程序上下文中排除 Spring Boot 应用程序 bean?

来自分类Dev

使用嵌入式码头服务器运行Web应用程序(WAR)

来自分类Dev

在Docker上使用嵌入式Jetty服务器运行Java应用程序

来自分类Dev

使用单个注释在根和调度程序应用程序上下文中自动配置Bean

来自分类常见问题

在Linux的嵌入式Tomcat服务器中运行Spring Boot应用程序

来自分类Dev

如何在嵌入式tomcat服务器中设置自定义领域?我正在使用Spring Boot。

来自分类Dev

如何为具有不同映射关系的一个servlet配置不同的Web应用程序上下文

来自分类Dev

如何配置嵌入式码头服务器记录所有请求?

来自分类Dev

如何配置嵌入式码头服务器记录所有请求?

来自分类Dev

以编程方式配置嵌入式Underwow服务器

来自分类Dev

使用`System.exit()`停止具有嵌入式Jetty服务器的Java应用程序是否安全?

来自分类Dev

如何配置嵌入式Jetty服务器以将NCSARequestLog打印到STDOUT

来自分类Dev

如何在安全上下文中使用@Autowiring从应用程序上下文中调用bean

来自分类Dev

如何在Spring应用程序上下文中添加内部类以进行单元测试?

来自分类Dev

在以编程方式配置的Jetty嵌入式服务器中使用HttpRequestHandlerServlet

来自分类Dev

如何从Java代码在jboss cli中启动嵌入式服务器?

Related 相关文章

  1. 1

    如何在Spring Framework 4中初始化应用程序上下文

  2. 2

    如何在Spring 2.5中从字符串加载应用程序上下文?

  3. 3

    使业务域对象可用于嵌入式Jetty服务器中的Jersey Servlet上下文

  4. 4

    Intellij 中 Tomcat 服务器的自动“应用程序上下文”

  5. 5

    如何关闭Spring Boot嵌入式服务器

  6. 6

    如何以编程方式从应用程序上下文创建 spring xml 配置文件?

  7. 7

    如何使一个类了解Spring MVC中的多个应用程序上下文?

  8. 8

    如何从Eclipse中的命令处理程序事件中找出应用程序上下文

  9. 9

    WatchConnectivity-检测所有控制器中的应用程序上下文更改

  10. 10

    无法使用Maven筛选应用程序上下文从Eclipse运行服务器

  11. 11

    两个spring应用程序都使用特定的jar和应用程序上下文-如何控制从上下文从哪个应用程序中获取bean?

  12. 12

    如何在Spring的应用程序上下文中添加http会话管理标签?

  13. 13

    在onStartCommand()中,“ this”是指服务或应用程序上下文吗?

  14. 14

    如何从测试应用程序上下文中排除 Spring Boot 应用程序 bean?

  15. 15

    使用嵌入式码头服务器运行Web应用程序(WAR)

  16. 16

    在Docker上使用嵌入式Jetty服务器运行Java应用程序

  17. 17

    使用单个注释在根和调度程序应用程序上下文中自动配置Bean

  18. 18

    在Linux的嵌入式Tomcat服务器中运行Spring Boot应用程序

  19. 19

    如何在嵌入式tomcat服务器中设置自定义领域?我正在使用Spring Boot。

  20. 20

    如何为具有不同映射关系的一个servlet配置不同的Web应用程序上下文

  21. 21

    如何配置嵌入式码头服务器记录所有请求?

  22. 22

    如何配置嵌入式码头服务器记录所有请求?

  23. 23

    以编程方式配置嵌入式Underwow服务器

  24. 24

    使用`System.exit()`停止具有嵌入式Jetty服务器的Java应用程序是否安全?

  25. 25

    如何配置嵌入式Jetty服务器以将NCSARequestLog打印到STDOUT

  26. 26

    如何在安全上下文中使用@Autowiring从应用程序上下文中调用bean

  27. 27

    如何在Spring应用程序上下文中添加内部类以进行单元测试?

  28. 28

    在以编程方式配置的Jetty嵌入式服务器中使用HttpRequestHandlerServlet

  29. 29

    如何从Java代码在jboss cli中启动嵌入式服务器?

热门标签

归档