As the result of a post by Bryan Buchanan I have started looking at using the Java API to access Rocket D3 10.4 on AlmaLinux 8.9.
I have downloaded the file MVSPJavaAPI.zip and successfully compiled and run MVSPJavaAPI/samples/mvspTest.java. When I used this program the connection was instant and all other accesses were also instant.Â
I then attempted to create my own simple Java program based on what I could see in mvspTest.java. When I ran it I found that there was a 2 to 3 second delay when making the connection. The data retrieval part of the program worked and was instant. At the same time the following error message lines appear in /var/log/messages:
Mar 10 19:55:06 Alma8 systemd[1]: D3MVSPpick0@0-127.0.0.1:9000-127.0.0.1:54186.service: Main process exited, code=exited, status=1/FAILURE
Mar 10 19:55:06 Alma8 systemd[1]: D3MVSPpick0@0-127.0.0.1:9000-127.0.0.1:54186.service: Failed with result 'exit-code'.
These message lines did not occur when I used mvspTest.java.
Can anyone give a clue why I am seeing the difference in behaviour? My code is as follows:
MvspConsole.java
import com.rocketsoftware.mvapi.*;
//import com.rocketsoftware.mvapi.ResultSet.*;
//import com.rocketsoftware.mvapi.exceptions.*;
import java.util.Properties;
class MvspConsole {
 static MVConnection mvspHandle;
 public static void main(String[] args) {
  System.out.println("Started...");
  Properties props = new Properties();
  props.setProperty("username", "jrcar");
  props.setProperty("password", "0xygen16");
  String url = "jdbc:mv:D3:localhost:9000";
  mvspConnect(url, props);
  mvspLogto("mvdemo", "");
  mvspRead("customers", "12");
  mvspClose();
 }
 static void mvspConnect(String url, Properties props){
  System.out.println("Connecting...");
  try {
    mvspHandle = new MVConnection(url, props);
  }
  catch (Exception ex){
   System.out.println("new MVConnection: Unexpected exception: " + ex.toString());
   System.out.println(" : " + ex.getMessage());
   System.out.println("Cause: " + ex.getCause());
   return;
  }
  System.out.println("Connected");
 }
 static void mvspClose(){
  try {
   mvspHandle.close();
  } catch (Exception ex) {
   System.out.println("Couldn't close mvcHandle");
  }
 }
 static void mvspLogto(String account, String pwd){
  try {
   mvspHandle.logTo(account, pwd);
   System.out.println("Logto: " + account);
  } catch (Exception ex) {
   System.out.println("Exception: " + ex.toString());
   System.out.println(" : " + ex.getMessage());
  }
 }
 static void mvspRead(String fileName, String id){
  try {
   String item = mvspHandle.fileRead(fileName, id);
   item = mvspHandle.swap(item, MVConstants.AM, "|");
   System.out.println("Read item ...");
   System.out.println(item);
  } catch (Exception ex) {
   System.out.println("Exception: " + ex.toString());
   System.out.println(" : " + ex.getMessage());
  }
 }
}
------------------------------
James Carthew
Application Specialist
LRS Health Pty Ltd
Heidelberg VIC AU
------------------------------