Я не могу помочь вам с OpenJPA, но я только что понял, как использовать Guice
с Wink
. Прежде всего, вам не нужно использовать Guice's guice-servlet
JAR, как и при обычном webapp. Просто настройте свой webapp, чтобы использовать Wink, как обычно, а затем выполните следующие действия.
- Заменить
wink-server
JAR с wink-guice-server
JAR (доступный из того же источника).
Измените servlet-class
в файле web.xml
от
org.apache.wink.server.internal.servlet.RestServlet
в
org.apache.wink. гусь. server.internal.servlet. Guice RestServlet
Также в web.xml
, добавьте этот фрагмент в <servlet-class>
элемент Wink в:
<init-param>
<param-name>deploymentConfiguration</param-name>
<param-value>com.yourco.yourproj.DeploymentConfiguration</param-value>
</init-param>
Наконец, создать новый класс Wink DeploymentConfiguration
, который я называю здесь com.yourco.yourproj.DeploymentConfiguration
.
package com.yourco.yourproj;
import com.google.inject.Module;
import org.apache.wink.guice.server.internal.GuiceDeploymentConfiguration;
import org.apache.wink.guice.server.internal.lifecycle.WinkGuiceModule;
public class DeploymentConfiguration extends GuiceDeploymentConfiguration {
@Override
public Module[] createModules() {
return new Module[] { new WinkGuiceModule(), new YourModule() };
}
}
YourModule
- это обычный модуль Guice.