1

我试图在 Restcomm 上创建 SBB 孩子,大多数时候我遇到这个异常:

java.lang.ClassCastException:  
com.edafa.slee.http.sbb.api.HttpSbbLocalObjectImpl cannot be cast to  
com.edafa.slee.http.sbb.api.HttpSbbLocalObject  

其中HttpSbbLocalObject是子 SBB 的 sbb-local-object

请找到一些有用的信息,可以帮助您回答我:

  • HttpSbbLocalObject在名为http-sbb-api-lib的单独库中
  • 这是子 sbb-jar.xml 中的 library-ref:
    <library-ref> <library-name>http-sbb-api-lib</library-name> <library-vendor>Edafa</library-vendor> <library-version>1.0.3-SNAPSHOT</library-version> </library-ref>
  • 这是子 sbb-jar.xml 中的 sbb-local-interface 声明:
    <sbb-local-interface> <sbb-local-interface-name> com.edafa.slee.http.sbb.api.HttpSbbLocalObject </sbb-local-interface-name> </sbb-local-interface>
  • 这是父 sbb-jar.xml 中的 library-ref:
    <library-ref> <library-name>http-sbb-api-lib</library-name> <library-vendor>Edafa</library-vendor> <library-version>1.0.3-SNAPSHOT</library-version> </library-ref>
  • 这是父 sbb-jar.xml 中的 sbb-ref:
    <sbb-ref> <sbb-name>http-sbb</sbb-name> <sbb-vendor>Edafa</sbb-vendor> <sbb-version>2.0.0-SNAPSHOT</sbb-version> <sbb-alias>http-sbb-child</sbb-alias> </sbb-ref>
  • 这是父 sbb-jar.xml 中的子关系方法:
    <get-child-relation-method> <sbb-alias-ref>http-sbb-child</sbb-alias-ref> <get-child-relation-method-name> getHttpActorLocalObject </get-child-relation-method-name> <default-priority>0</default-priority> </get-child-relation-method>
  • 这是父 SBB 中的子关系方法声明:
    public abstract ChildRelation getHttpActorLocalObject();
  • 这是父项中的子项创建:
    httpSbbLocalObject=(HttpSbbLocalObject) getHttpActorLocalObject().create();
  • 在以上这一点上发生了异常
    "java.lang.ClassCastException: com.edafa.slee.http.sbb.api.HttpSbbLocalObjectImpl cannot be cast to com.edafa.slee.http.sbb.api.HttpSbbLocalObject"

我尝试了很多尝试来解决这个问题,但不幸的是没有有用的结果。

请找到一些您必须考虑的有用注释:

  • HttpSbbLocalObject是子 SBB 的 sbb-local-object
  • 此问题发生在运行时而不是部署时
  • 有时通过重新部署所有 DU 成功创建 SBB 子
  • 我在Opencloud-Rhino上成功尝试了相同的 DU,没有任何问题
  • 我使用restcomm-slee-7.2.0-158.76-wildfly-10.1.0.Final

请我需要任何有用的建议来帮助我解决这个异常

4

0 回答 0