0

我正在尝试遵循 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)

4

0 回答 0