我试图在 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
请我需要任何有用的建议来帮助我解决这个异常