小编pen*_*ike的帖子

在weblogic中更改ejb3 webservice url

我有一个EJB3会话bean注释@WebService(serviceName="MyServiceName", portName="MyPortName").当它部署到Weblogic 11g中时,服务端点位于

host:port/BeanClassName/MyServiceName

是否可以更改Web服务的服务端点地址?即到

host:port/my/context/root/something/MyServiceName

我尝试使用weblogic-webservices.xml部署描述符,但它需要webservices.xml描述符,该描述符需要WSDL位置元素,但是应该由服务器生成,并且它的位置在dev和prod环境中不同.

web-services ejb-3.0

7
推荐指数
1
解决办法
5886
查看次数

Eclipselink相关对象的历史记录

我可以使用HistoryCustomizer创建实体的历史记录

@Entity
@Customizer(MyHistoryCustomizer.class)
public class Employee {..}
Run Code Online (Sandbox Code Playgroud)

HistoryCustomizer就是这样的:

public class MyHistoryCustomizer implements DescriptorCustomizer {
    public void customize(ClassDescriptor descriptor) {
        HistoryPolicy policy = new HistoryPolicy();
        policy.addHistoryTableName("EMPLOYEE_HIST");
        policy.addStartFieldName("START_DATE");
        policy.addEndFieldName("END_DATE");
        descriptor.setHistoryPolicy(policy);
    }
}
Run Code Online (Sandbox Code Playgroud)

可以使用"AS_OF"提示获取历史对象

javax.persistence.Query historyQuery = em
                    .createQuery("SELECT e FROM Employee e", Employee.class)
                    .setParameter("id", id)
                    .setHint(QueryHints.AS_OF, "yyyy/MM/dd HH:mm:ss.SSS")
                    .setHint(QueryHints.READ_ONLY, HintValues.TRUE)
                    .setHint(QueryHints.MAINTAIN_CACHE, HintValues.FALSE);
Run Code Online (Sandbox Code Playgroud)

很好但是,如果你开始访问这个历史对象引用的对象,引用的对象将是它们的实际版本.因此,去年的员工(由历史查询提取)将分配当前的地址,而不是去年曾用过的地址.

如何告诉EclipseLink(2.5.0)从过去获取相关对象?

jpa eclipselink

5
推荐指数
1
解决办法
1825
查看次数

标签 统计

eclipselink ×1

ejb-3.0 ×1

jpa ×1

web-services ×1