Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 General SQL Server Forums
 New to SQL Server Programming
 connection reset and connection time out

Author  Topic 

baktha.thalapathy
Starting Member

7 Posts

Posted - 2010-06-04 : 06:57:13
the file is running locally very fine, whenever i put into server it will give the following error

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.EOFException;
import java.net.Socket;
import java.sql.*;
import javax.naming.NamingException;
import parser.AvlData;
import parser.AvlDataFM4;
import parser.CodecStore;
import tools.Tools;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
import pip.FuelEmail;
import pip.SpeedEmail;
import pip.WireCut;
import pip.FuelRecord;

public class ModuleHandler implements Runnable {


private Socket moduleSocket = null;
private Connection conn = null;

private Alldatabase alldata = null;
private SpeedEmail speedE = null;
private int[] available = null,avail =null ;
private long tims = 0;

private FuelRecord frecord = null;
private FuelEmail feEmail = null;
private KillConnection kill = null;
private WireCut wirecut = null;
DataInputStream dis = null;
DataOutputStream dos = null;

/**
*
* @param imei
*/


public ModuleHandler(Socket sock) throws NamingException, SQLException
{

Connection conn = null;
Context ctx = new InitialContext();
DataSource datasource = (DataSource)ctx.lookup("jdbc/navlPool");
conn = datasource.getConnection();
this.moduleSocket = sock;
wirecut = new WireCut();
alldata = new Alldatabase();
speedE = new SpeedEmail();
frecord = new FuelRecord();
feEmail = new FuelEmail();
kill = new KillConnection();
}
public void run()
{
synchronized (this)
{
try
{

DataInputStream dis = new DataInputStream(moduleSocket.getInputStream());
DataOutputStream dos = new DataOutputStream(moduleSocket.getOutputStream());

String imei = dis.readUTF();
int checkimei = alldata.checkimei(imei);

switch(checkimei)
{
case 0:
System.out.println(" imei not found");
System.out.println("IMEI " + imei);
dos.writeInt(0);
break;
case 1:

dos.writeBoolean(true);
System.out.println(" Module IMEI :: ::" + imei + " ObjectId " + alldata.objectId);
while (true)
{

byte[] packet = ByteWrapper.unwrapFromStream(dis);


if (packet == null)
{
if (alldata.email1 != null)
{
speedE.sendSpeedEmail(alldata.objectId,alldata.email1);
frecord.getfuelRecord(alldata.email1,alldata.objectId,alldata.display);
wirecut.checkWireCut(alldata.email1, alldata.objectId, alldata.display);
feEmail.checkEmail(alldata.objectId, alldata.email1);
//kill.kill(conn);
break;

}else
{


//System.out.println("Closing connection: " + moduleSocket);
break;

}




}



// register supported codecs
CodecStore.getInstance().register(AvlData.getCodec());
CodecStore.getInstance().register(AvlDataFM4.getCodec());
AvlData decoder = CodecStore.getInstance().getSuitableCodec(packet);

if (decoder == null)
{
System.out.println("Unknown packet format: " + Tools.bufferToHex(packet));
dos.writeInt(0);
}
else
{

AvlData[] decoded = decoder.decode(packet);
System.out.println(" Packet Recieved Time :: :: " + new Date().toLocaleString() + ": Received records:" + decoded.length);


for (AvlData avlData : decoded)
{
tims = avlData.getTimestamp();
available = avlData.getInputOutputElement().propertyIds;
avail = avlData.getInputOutputElement().propertyValues;
alldata.Database(avlData.getGpsElement().getX(),avlData.getGpsElement().getY(),avlData.getGpsElement().getAltitude(),avlData.getGpsElement().getAngle(),avlData.getGpsElement().getSatellites(),avlData.getGpsElement().getSpeed(), alldata.objectId,alldata.clientId,tims, available, avail);
alldata.CheckSpeedAlert(alldata.objectId, alldata.clientId,avlData.getGpsElement().getSpeed() ,avlData.getGpsElement().getX(),avlData.getGpsElement().getY() , tims);


}

System.out.println("Packet Length " + decoded.length);
dos.writeInt(decoded.length);

}

}

default: break;

}

}catch(EOFException exx)
{
Logger.getLogger(ModuleHandler.class.getName()).log(Level.SEVERE, null, exx) ;
//this.wait(5000);

}
catch (Exception ee)
{
Logger.getLogger(ModuleHandler.class.getName()).log(Level.SEVERE, null, ee) ;
}finally
{
try {
if (dis!=null)
{
dis.close();
}
if (dos!=null)
{
dos.close();
}
if(conn!=null)
{
conn.close();
}
}
catch (Throwable t) {
Logger.getLogger(ModuleHandler.class.getName()).log(Level.SEVERE, null, t);
}

}
}



}

}




stack trace


[#|2010-06-04T16:04:57.810+0530|SEVERE|glassfishv3.0|tcplistener.ModuleHandler|_ThreadID=33;_ThreadName=Thread-2188;|The log message is null.
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:168)
at java.net.SocketInputStream.read(SocketInputStream.java:182)
at java.io.FilterInputStream.read(FilterInputStream.java:66)
at tcplistener.ByteWrapper.unwrapFromStream(ByteWrapper.java:136)
at tcplistener.ModuleHandler.run(ModuleHandler.java:104)
at java.lang.Thread.run(Thread.java:619)
|#]

[#|2010-06-04T16:11:00.808+0530|SEVERE|glassfishv3.0|tcplistener.ModuleHandler|_ThreadID=34;_ThreadName=Thread-152;|The log message is null.
java.net.SocketException: Connection timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at java.net.SocketInputStream.read(SocketInputStream.java:182)
at java.io.FilterInputStream.read(FilterInputStream.java:66)
at tcplistener.ByteWrapper.unwrapFromStream(ByteWrapper.java:136)
at tcplistener.ModuleHandler.run(ModuleHandler.java:104)
at java.lang.Thread.run(Thread.java:619)
|#]


what i am doing wrong please help me anybody having idea

thanks in advance

Bakthavachalam E

Sachin.Nand

2937 Posts

Posted - 2010-06-04 : 07:08:20
I think this is more of JAVA problem that SQL.Please post it in some appropriate JAVA forum.

PBUH
Go to Top of Page
   

- Advertisement -