2013-06-16 3 views
0

Я пытаюсь сделать этот запуск несколько дней, и я не могу понять, как это сделать. Возможно, у кого-то есть идея или это уже сделано?Разверните приложение Spring и Jersey с JavaConfig на Grizzly

Я хочу развернуть мое приложение на встроенном сервере grizzly. Я сконфигурировал приложение Spring с помощью JavaConfig, и это дошло до конца, но теперь я, похоже, застрял. Вот код, я использую, чтобы развернуть мой Джерси материал для гризли:

HttpServer server = new HttpServer(); 
    NetworkListener listener = new NetworkListener("grizzly2", "localhost", 4433); 
    server.addListener(listener); 

    WebappContext ctx = new WebappContext("ctx","/"); 

    final ServletRegistration reg = ctx.addServlet("spring", new SpringServlet()); 
    reg.addMapping("/*"); 
    reg.setInitParameter("com.sun.jersey.config.property.packages", "com.myapp.http.webservices"); 
    ctx.addContextInitParameter("contextConfigLocation", "com/myapp/config/beans.xml"); 
    ctx.addListener("org.springframework.web.context.ContextLoaderListener");   
    ctx.addListener("org.springframework.web.context.request.RequestContextListener"); 
    ctx.addFilter("springSecurityFilterChain", new DelegatingFilterProxy()); 
    ctx.deploy(server); 
    server.start(); 

Теперь, насколько я могу сказать, следующая строка является проблемой.

ctx.addContextInitParameter("contextConfigLocation", "com/myapp/config/beans.xml"); 

У меня есть beans.xml, в котором я настроить материал весной безопасности, но и все другие бобы, которые я использую объявлены через JavaConfig. Итак, если я передаю только beans.xml, приложение будет иметь доступ только к указанным там компонентам. Я действительно хочу передать свой ApplicationContext, чтобы все мои бобы могли быть восстановлены правильно.

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

ответ

1

Попробуйте

ctx.addContextInitParameter("contextConfigLocation", "classpath:com/myapp/config/beans.xml") 

И вы не должны использовать com.sun.jersey.config.property.packages больше, как вы уже используете Spring управлять бобы.

Смежные вопросы