Quantcast
Channel: SCN : Discussion List - SAP HANA Cloud Platform Developer Center
Viewing all articles
Browse latest Browse all 3131

EJB Timer in SAP HANA

$
0
0

Hi,

 

I am trying to create an EJB Timer using the method mentioned in the following post.

 

http://scn.sap.com/community/developer-center/cloud-platform/blog/2013/02/14/scheduling-jobs-on-sap-netweaver-cloud-using-the-ejb-timer-service

 

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


Viewing all articles
Browse latest Browse all 3131

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>