I see it works only when TestCallee is public.
Will check if this security rule can be relaxed.
Ludo
On Saturday, December 8, 2012 9:43:27 AM UTC-8, Zbynek Vyskovsky wrote:
Hi,
I found an issue with hibernate failure when initializing EntityManager, due to security checks. This was already described at http://code.google.com/p/hibernate-gae/issues/detail?id=5
The problem is that GAE uses some wrapper to call the method which disallows the access because of different package.
I tried to create minimalistic code which works correctly in local JVM but fails in GAE, please find below. This approach is completely correct in Java, but it fails in GAE. Unfortunately it disallows to deploy hibernate code right now. Can someone check what could be done with it or how to work-around it?
Best Regards,
Zbynek
package com.example.gafail.servlet;
class TestCallee
{
public static String calleeMethod()
{
return "ok";
}
}
package com.example.gafail.servlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class GaFailServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
{
try {
response.getWriter().write("Hello: "+TestCallee.class.getMethod("calleeMethod").invoke(null));
}
catch (Exception ex) {
throw new RuntimeException(ex);
}
}
}