English 中文(简体)
Java Windows Mobile Application Taking Too Long To Reestablish Network Connectivity
原标题:

We have a Java application running on the JBed JVM on Windows mobile 6.1.

When it loses connectivity the application is taking a long time (8 - 10 minutes) to re-establish VPN network connectivity, despite the fact that other applications can see the VPN far sooner (roughly 2 - 3 minutes).

From our application logs we can see that two network calls (each independent of the other) - one to establish the IP address of the device on the VPN (InetAddress local = InetAddress.getLocalHost), one to open a socket (connection = new Socket(IP address of host, port);)are failing repeatedly during both the period where the connection is completely absent and once the connection has been restored to other applications but both calls seem to regain access to the network at the same time (the first successful attempt to open a socket happens the first time it is attempted after a successful IP address is obtained).

Some other things we ve learned / know:

1) The device IP address is not used in opening the socket - they are separate routines running in separate threads. My feeling is that the failure of one does not cause the other, rather they both succeed / fail based on the same underlying reason.

2) The call to establish the IP address isn t failing during this period, it s just not seeing the VPN connection - the cellular network connection IP address is visible. When I refer to success/failure it s not an exception being thrown, it s about it seeing a network connection in the right IP range.

3) If you kill the process and restart the application it connects fine, but there s no real code running on start up which could account for that - just the same two calls.

4) The attempt to open the socket uses the IP address of the server to make the connection (as opposed to a name it would need to resolve).

5) Something called Checkpoint is being used to manage the network connectivity - not idea if it may be contributing.

I m thinking that there could be some sort of caching / pooling going on at the JVM level which is causing this.

Does anyone have any thoughts on what might be contributing and anything we could try to prevent it?

Oh, and it s Java 1.2.

问题回答

暂无回答




相关问题
Spring Properties File

Hi have this j2ee web application developed using spring framework. I have a problem with rendering mnessages in nihongo characters from the properties file. I tried converting the file to ascii using ...

Logging a global ID in multiple components

I have a system which contains multiple applications connected together using JMS and Spring Integration. Messages get sent along a chain of applications. [App A] -> [App B] -> [App C] We set a ...

Java Library Size

If I m given two Java Libraries in Jar format, 1 having no bells and whistles, and the other having lots of them that will mostly go unused.... my question is: How will the larger, mostly unused ...

How to get the Array Class for a given Class in Java?

I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this: Class arrayOfFooClass = java.lang....

SQLite , Derby vs file system

I m working on a Java desktop application that reads and writes from/to different files. I think a better solution would be to replace the file system by a SQLite database. How hard is it to migrate ...

热门标签