将mule 3.7与RESTful应用程序和要求使用动态链接的设计结合使用。 Jersey文档和示例调用告诉应用程序有关包使用链接,并在该包上注册DeclarativeLinkingFeature类,然后在类的字段上使用@InjectLink注释来接收链接。
这对Mule来说是个问题,而应用程序结构是Mule内部的。没有这个注册,他们@InjectLink没有效果,球衣不会填充链接。
是否有人有解决方案或解决方法,甚至知道Mule是否有任何实施动态链接的规定。我们在Mule文档中找不到任何信息,也没有使用此功能的Mule应用程序示例。任何提示都将不胜感激。
答案 0 :(得分:0)
如果您要使用的功能未使用@Provider注释,请执行以下操作:https://github.com/jersey/jersey/blob/master/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/DeclarativeLinkingFeature.java
创建一个实现Feature的类,并注释为@Provider,然后注册所需的功能:
package com.package.features;
import javax.ws.rs.core.Feature;
import javax.ws.rs.core.FeatureContext;
import javax.ws.rs.ext.Provider;
import org.glassfish.jersey.linking.DeclarativeLinkingFeature;
@Provider
public class MyFeatures implements Feature {
@Override
public boolean configure(FeatureContext context) {
return new DeclarativeLinkingFeature().configure(context);
}
}
然后尝试通过扫描包来注册该功能:
<jersey:resources>
<component class="com.package.SomeResource"/>
<jersey:package packageName="com.package.features" />
</jersey:resources>