Hi,
I am trying to create an EJB Timer using the method mentioned in the following post.
Procedure:
1. First I am creating a simple servlet by following https://help.netweaver.ondemand.com/default.htm?creating_helloworld.html.
2. Then I am trying to create a timer by using EJB Timer Wizard (File > New > Other > EJB > EJB Timer) .
3. Now I am trying to inject this timer bean into servlet created in step 1 using @EJB annotation.
Below is the servlet code.
package timerServlet; import java.io.IOException; import java.io.PrintWriter; import java.util.Date; import javax.ejb.EJB; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import timer.Sampletimer; /** * Servlet implementation class Servlet */ @WebServlet("/") public class Servlet extends HttpServlet { @EJB Sampletimer timerBean; private static final long serialVersionUID = 1L; private static HttpServletResponse resp; public static HttpServletResponse getServletResp() { return resp; } /** * @see HttpServlet#HttpServlet() */ public Servlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse * response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Servlet.resp = response; PrintWriter page = new PrintWriter(response.getWriter()); Date now = new Date(); page.println(now.toString() + "Servlet Hello"); page.println(now.toString() + timerBean.BeanHello()); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse * response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub } }
And this is the bean code.
package timer; import java.io.IOException; import javax.ejb.Schedule; import javax.ejb.Stateless; import javax.ejb.Timer; import javax.servlet.ServletException; @Stateless public class Sampletimer { /** * Default constructor. */ public Sampletimer() { // TODO Auto-generated constructor stub } @Schedule(second = "*/2") private void scheduledTimeout(final Timer t) throws ServletException, IOException { System.out.println("Timer Timed Out"); } public String BeanHello() { return "Bean Hello"; } }
With this code, I am not able to deploy the application in SAP HANA local server. Deployment is failing with the "application creation failed error".
Help required to make this work.
Regards,
Vishnu