I'm trying to implement my HK2 binding in Jersey, in a servlet / tomcat context.
I do, in a servlet which extends org.glassfish.jersey.servlet.ServletContainer :
  @Override
  public void init(ServletConfig config) throws ServletException
  {
    super.init(config);
    // BinderInjection extends org.glassfish.hk2.utilities.binding.AbstractBinder
    getConfiguration().register(new BinderInjection()); 
  }
... but I get :
java.lang.IllegalStateException: The resource configuration is not modifiable in this context.
    at org.glassfish.jersey.server.ResourceConfig$ImmutableState.register(ResourceConfig.java:270)
    at org.glassfish.jersey.server.ResourceConfig$ImmutableState.register(ResourceConfig.java:218)
    at org.glassfish.jersey.server.ResourceConfig.register(ResourceConfig.java:448)
    at A_Servlet.init(RestServlet.java:45)
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1190)
So how can I do my own HK2 binding ?
Why this question ? (edit)
It's for EntityManager and JPA in Jersey.
With Netbeans, if I generate an AbstractFacade it put
  @PersistenceContext(unitName = "myunit")
  private EntityManager em;
... and :
  @Override
  protected EntityManager getEntityManager()
  {
    return em;
  }
But, when I call the service, em is null. So I suppose it's @PersistenceContext which doesn't work ?
If I use the solution Tutorial: Put JPA in your Web App (tomcat, EclipseLink) and provide Rest JSON output all work like a charm, but I don't like use static variable private static EntityManagerFactory emf; for entity manager.
Thanks.