骡子与泽西动态超链接

时间:2015-09-22 21:03:54

标签: rest dynamic hyperlink jersey mule

将mule 3.7与RESTful应用程序和要求使用动态链接的设计结合使用。 Jersey文档和示例调用告诉应用程序有关包使用链接,并在该包上注册DeclarativeLinkingFeature类,然后在类的字段上使用@InjectLink注释来接收链接。

这对Mule来说是个问题,而应用程序结构是Mule内部的。没有这个注册,他们@InjectLink没有效果,球衣不会填充链接。

是否有人有解决方案或解决方法,甚至知道Mule是否有任何实施动态链接的规定。我们在Mule文档中找不到任何信息,也没有使用此功能的Mule应用程序示例。任何提示都将不胜感激。

1 个答案:

答案 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>