我正在尝试遵循 java 的 alljoyn 核心教程,以创建我的第一个 alljoyn 服务和客户端。不幸的是,每次我启动该服务时,都会出现以下错误。
任何人都有摆脱它的想法?
package test;
import org.alljoyn.bus.AboutObj;
import org.alljoyn.bus.BusAttachment;
import org.alljoyn.bus.BusException;
import org.alljoyn.bus.BusListener;
import org.alljoyn.bus.BusObject;
import org.alljoyn.bus.Mutable;
import org.alljoyn.bus.SessionOpts;
import org.alljoyn.bus.SessionPortListener;
import org.alljoyn.bus.Status;
public class MyServiceObject {
static {
System.loadLibrary("alljoyn_java");
}
private static final short CONTACT_PORT=42;
static boolean sessionEstablished = false;
static int sessionId;
public static class SampleService implements MyInterface, BusObject {
@Override
public void MyMethod(String inStr) throws BusException {
// TODO Auto-generated method stub
}
@Override
public void MySignal(String inStr) throws BusException {
// TODO Auto-generated method stub
}
@Override
public String GetMyProperty() throws BusException {
// TODO Auto-generated method stub
return null;
}
@Override
public void SetMyProperty(String myProperty) throws BusException {
// TODO Auto-generated method stub
}
}
public static void main(String[] args) {
BusAttachment mBus;
mBus = new BusAttachment("AppName", BusAttachment.RemoteMessage.Receive);
Status status;
SampleService mySampleService = new SampleService();
status = mBus.registerBusObject(mySampleService, "/example/path");
if (status != Status.OK) {
return;
}
System.out.println("BusAttachment.registerBusObject successful");
mBus.registerBusListener(new BusListener());
status = mBus.connect();
if (status != Status.OK) {
return;
}
System.out.println("BusAttachment.connect successful on " + System.getProperty("org.alljoyn.bus.address"));
Mutable.ShortValue contactPort = new Mutable.ShortValue(CONTACT_PORT);
SessionOpts sessionOpts = new SessionOpts();
sessionOpts.traffic = SessionOpts.TRAFFIC_MESSAGES;
sessionOpts.isMultipoint = false;
sessionOpts.proximity = SessionOpts.PROXIMITY_ANY;
sessionOpts.transports = SessionOpts.TRANSPORT_ANY;
status = mBus.bindSessionPort(contactPort, sessionOpts,
new SessionPortListener() {
public boolean acceptSessionJoiner(short sessionPort, String joiner, SessionOpts sessionOpts) {
System.out.println("SessionPortListener.acceptSessionJoiner called");
if (sessionPort == CONTACT_PORT) {
return true;
} else {
return false;
}
}
public void sessionJoined(short sessionPort, int id, String joiner) {
System.out.println(String.format("SessionPortListener.sessionJoined(%d, %d, %s)", sessionPort, id, joiner));
sessionId = id;
sessionEstablished = true;
}
});
if (status != Status.OK) {
return;
}
AboutObj aboutObj = new AboutObj(mBus);
//status = aboutObj.announce(contactPort.value, new MyAboutData());
if (status != Status.OK) {
System.out.println("Announce failed " + status.toString());
return;
}
System.out.println("Announce called announcing SessionPort: " + contactPort.value);
while (!sessionEstablished) {
try {
Thread.sleep(10);
} catch (InterruptedException e) {
System.out.println("Thread Exception caught");
e.printStackTrace();
}
}
System.out.println("BusAttachment session established");
while (true) {
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
System.out.println("Thread Exception caught");
e.printStackTrace();
}
}
}
}
0.560 ****** 错误 ALLJOYN_JAVA 外部 .../jni/alljoyn_java.cc:12028 | org.alljoyn.bus.AnnotationBusException:无法确定 null 的签名
0.560 ****** 错误 ALLJOYN_JAVA 外部 .../jni/alljoyn_java.cc:12028 | 在 org.alljoyn.bus.Signature.typeSig(Signature.java:121)
0.560 ****** 错误 ALLJOYN_JAVA 外部 .../jni/alljoyn_java.cc:12028 | 在 org.alljoyn.bus.InterfaceDescription.getPropertySig(InterfaceDescription.java:530)
0.560 ****** 错误 ALLJOYN_JAVA 外部 .../jni/alljoyn_java.cc:12028 | 在 org.alljoyn.bus.InterfaceDescription.getProperties(InterfaceDescription.java:302)
0.560 ****** 错误 ALLJOYN_JAVA 外部 .../jni/alljoyn_java.cc:12028 | 在 org.alljoyn.bus.InterfaceDescription.create(InterfaceDescription.java:163)
0.560 ****** 错误 ALLJOYN_JAVA 外部 .../jni/alljoyn_java.cc:12028 | 在 org.alljoyn.bus.InterfaceDescription.create(InterfaceDescription.java:423)
0.560 ****** 错误 ALLJOYN_JAVA 外部 .../jni/alljoyn_java.cc:12028 | 在 org.alljoyn.bus.BusAttachment.registerBusObject(BusAttachment.java:1357)
0.560 ****** 错误 ALLJOYN_JAVA 外部 .../jni/alljoyn_java.cc:12028 | 在 org.alljoyn.bus.BusAttachment.registerBusObject(BusAttachment.java:1287)
0.560 ****** 错误 ALLJOYN_JAVA 外部 .../jni/alljoyn_java.cc:12028 | 在 test.MyServiceObject.main(MyServiceObject.java:74)