tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Parsons Technical Services" <parsonstechni...@earthlink.net>
Subject Re: How do I configure Tomcat to write to a Serial Port?
Date Sat, 02 Oct 2004 13:59:47 GMT
What OS?


----- Original Message ----- 
From: "Donald Horrell (BT)" <don.horrell@btinternet.com>
To: <tomcat-user@jakarta.apache.org>
Sent: Saturday, October 02, 2004 9:04 AM
Subject: How do I configure Tomcat to write to a Serial Port?


> I've downloaded and installed the Java Communications API (version 2) and
> Tomcat 5.0.25. The whole lot uses Java 1.4.0.
>
> My servlet is below, but when I invoke it, I get a log and an exception:
> "Serial port is already in use."
> javax.servlet.ServletException
>  comms.Send.init(Send.java:55)
>  javax.servlet.GenericServlet.init(GenericServlet.java:211)
>
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117
) org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:793)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:702)
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:571)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:644) java.lang.Thread.run(Thread.java:536)At some point, I'm going to need
to find a way of limiting the poolsize forthis servlet to 1 only
too.CheersDon.--------------------------------Source:package comms;import
java.io.IOException;import java.io.OutputStream;import
java.io.PrintWriter;import java.util.Enumeration;import javax.comm.*;import
javax.servlet.ServletException;import javax.servlet.SingleThreadModel;import
javax.servlet.http.*;public class Send extends HttpServlet implements
SingleThreadModel{   /** The output stream which writes to the Com port. */
PrintWriter out = null;   public void init() throws ServletException
{      // Open the serial port.      Enumeration portList =
CommPortIdentifier.getPortIdentifiers();      while
(portList.hasMoreElements())      {         CommPortIdentifier portId =
(CommPortIdentifier)portList.nextElement();         if (portId.getPortType()
== CommPortIdentifier.PORT_SERIAL)         {            //if
(portId.getName().equals("/dev/term/a")) {            if
(portId.getName().equals("COM1"))            {               SerialPort
serialPort = null;               try               {
serialPort = (SerialPort)(portId.open("SendApplet",2000));
out = new PrintWriter(serialPort.getOutputStream());
serialPort.setSerialPortParams(9600,
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);               }               catch
(PortInUseException e)               {
System.out.println("Serial port is already in use.");
throw(new ServletException());               }               catch
(IOException e)               {                  System.out.println("Failed
to connect to output stream.");                  throw(new
ServletException());               }               catch
(UnsupportedCommOperationException e)               {
System.out.println("Failed to set comms params.");
throw(new
rvletException());               }            }         }      }   }
public void destroy()   {   // Release the serial port.   }   public void
doGet(HttpServletRequest req, HttpServletResponse resp)   {
System.out.println("doGet.");      doWork(req, resp);   }   public void
doPost(HttpServletRequest req, HttpServletResponse resp)   {
System.out.println("doPost.");      doWork(req, resp);   }   public void
doWork(HttpServletRequest req, HttpServletResponse resp)   {      // Take
the msg param and send it to COM1.      String msg =
req.getParameter("msg");      System.out.println("Sending["+msg+"].");
if (msg != null)      {         out.println(msg);      }   }}
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


Mime
View raw message