Dans cette leçon, vous créez un bundle compatibles Web pour contenir un servlet qui accède au service de compteur et affiche les résultats du service. Le servlet accède au service OSGi en recherchant le service à l'aide d'un InitialContext JNDI.
package com.ibm.ws.eba.servlet;
import java.io.IOException;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.ibm.ws.eba.counter.Counter;
/**
* Servlet implementation class CounterServlet
*/
public class CounterServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* Default constructor.
*/
public CounterServlet() {
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Counter counter;
try {
InitialContext ic = new InitialContext();
counter = (Counter) ic.lookup("osgi:service/"+Counter.class.getName());
response.getOutputStream().println("counter="+counter.getCount());
}
catch (NamingException e) {
e.printStackTrace(System.out);
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
}
Vous avez créé le qui accède au service OSGi en recherchant le service à l'aide d'un InitialContext JNDI.