我正在测试RESTful服务,当我执行时我得到异常,虽然我的类路径(WEB-INF/lib)中有以下jar,但我没有使用Maven,我的JDK版本是1.5.有关此问题的其他问题无助于解决问题.
代码段
@GET
@Produces("application/json")
//@Produces({MediaType.APPLICATION_JSON}) tried this, didn't work either
public List<Emp> getEmployees() {
List<Emp> empList = myDAO.getAllEmployees();
log.info("size " + empList.size());
return empList;
}
@XmlRootElement
public class Emp {
......
Run Code Online (Sandbox Code Playgroud)
web.xml中
<servlet>
<servlet-name>Jersey Web Application</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>test.employees</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Jersey Web Application</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
罐子列表
jersey-server-1.2.jar
jersey-core-1.2.jar
jsr311-api-1.1.jar
asm-3.1.jar
jaxb-api-2.0.jar
jaxb-impl-2.0.jar
jackson-xc-1.2.0.jar
jackson-jaxrs-1.2.0.jar
jackson-mapper-asl-1.2.0.jar
jackson-core-asl-1.2.0.jar
jettison-1.2.jar
jersey-client-1.2.jar
jersey-servlet-1.10.jar
jersey-json-1.8.jar
Run Code Online (Sandbox Code Playgroud)
异常堆栈
SEVERE: A message body writer for Java class java.util.ArrayList,
and Java type …Run Code Online (Sandbox Code Playgroud) 更改Log4j的log.properties是否需要重新启动才能使更改生效?
我正在尝试在我们的某个系统中解决问题,并且无法重新启动服务器进程(在本例中为OC4J).
我正在使用eclipse使用ant构建一个ear文件.我正在使用oc4j,我想确保构建中包含orion-application.xml.我目前正在使用但不起作用的是:
<target name="ear" depends="">
<echo>Building the ear file</echo>
<copy todir="${build.dir}/META-INF">
<fileset dir="${conf.dir}" includes="orion-application.xml"/>
</copy>
<ear destfile="${dist.dir}/${ant.project.name}.ear"
appxml="${conf.dir}/application.xml">
<fileset dir="${dist.dir}" includes="*.jar,*.war"/>
</ear>
</target>
将此添加到耳朵的正确方法是什么?
假设部署了两个EAR的单个应用程序服务器实例.第一个EAR使用远程EJB接口从第二个EAR调用EJB.
有传言说,即使invokation使用远程接口来实现,应用服务器知道这一切都是在同一个JVM中,并在内部使用的远程接口与本地接口机制,即它不通过RMI调用方法,不打开任何插座,并不会序列化/反序列化对象.
这是真的?如果有人对Weblogic 10.3.2和OC4j 10.1.3关于此问题的行为有任何反馈,我们将不胜感激.
我有一个J2EE应用程序,其bean具有容器管理的EntityManager.在长时间运行的方法调用中,尝试合并数据会抛出一个
RollbackException(超时)
我尝试过使用EntityManagerFactory,但似乎不允许:
使用JTA时无法使用EntityTransaction
如何在不设置不合理超时的情况下运行任意长的进程?JTA不能在需要时创建新事务吗?
我们有一个使用消息驱动bean处理JMS消息的应用程序.此应用程序部署在OC4J应用程序服务器上.(10.1.3)
我们计划在多个OC4J应用程序服务器上部署此应用程序,这些服务器将配置为在群集中运行.
问题在于此群集中的JMS消息处理.我们必须确保一次只在整个OC4J集群中处理单个消息.这是必需的,因为必须按时间顺序处理消息.
您是否知道可以控制跨OC4J集群的消息处理的配置参数?
或者您认为我们必须实现自己的同步代码,以便在群集中同步消息驱动的bean吗?
我没有任何发行说明或版本说明文件的oc4j安装。在没有此类文档的情况下,我如何确定我正在使用哪个版本的oc4j?
我有一个Spring应用程序,启用了aop,使用cglib代理进行日志记录:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
<aop:aspectj-autoproxy proxy-target-class="true"/>
<bean id="loggingPointcuts" class="com.coverall.integration.commons.logging.LoggingPointcuts"/>
<bean id="loggingAspect" class="com.coverall.integration.commons.logging.LoggingAspect"/>
</beans>
Run Code Online (Sandbox Code Playgroud)
我使用cglib-nodep-2.2.2.jar和spring 3.1.1这在tomcat或jetty中运行良好.但是,当我在OC4J(使用jdk1.6)上部署它时,我收到以下错误:它试图代理的类 - ComponentRegistryImpl是包私有
Caused by: org.springframework.aop.framework.AopConfigException: Could not generate CGLIB subclass of class [class com.company.int.components.core.registration.ComponentRegistryImpl]: Common causes of this problem include using a final class or a non-visible class; nested exception is net.sf.cglib.core.CodeGenerationException: java.lang.reflect.InvocationTargetException-->null
at org.springframework.aop.framework.Cglib2AopProxy.getProxy(Cglib2AopProxy.java:207) ~[org.springframework.aop-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.aop.framework.ProxyFactory.getProxy(ProxyFactory.java:112) ~[org.springframework.aop-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.createProxy(AbstractAutoProxyCreator.java:476) ~[org.springframework.aop-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.wrapIfNecessary(AbstractAutoProxyCreator.java:362) ~[org.springframework.aop-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessAfterInitialization(AbstractAutoProxyCreator.java:322) ~[org.springframework.aop-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:407) [org.springframework.beans-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1461) [org.springframework.beans-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) [org.springframework.beans-3.1.1.RELEASE.jar:3.1.1.RELEASE] …Run Code Online (Sandbox Code Playgroud) 我正在尝试将应用程序从OC4J迁移到Weblogic,但我无法在Weblogic 12c中找到环境条目映射屏幕.
有吗?如果是的话,它在哪里?如果没有,我该怎么办?
我们的应用在web.xml中具有以下值:
<env-entry>
<env-entry-name>SERVLET_PATH</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
<env-entry>
<env-entry-name>USER</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
<env-entry>
<env-entry-name>PASSWORD</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
Run Code Online (Sandbox Code Playgroud)
在OC4J中,可以在Environment Entry Mappings屏幕中看到这些.(我也可以在Websphere的Web模块环境条目下看到它们)
谢谢
[编辑]感谢JoseK,我找到了答案.
创建了plan.xml之后,我发现需要在plan.xml中添加a和a:
<variable-definition>
<variable>
<name>SERVLET_PATH</name>
<value>http://203.15.228.111:7001/RailExchangeServlet/servlet/RailExchangeServlet</value>
</variable>
</variable-definition>
Run Code Online (Sandbox Code Playgroud)
...
<module-descriptor external="false">
<root-element>web-app</root-element>
<uri>WEB-INF/web.xml</uri>
<variable-assignment>
<name>SERVLET_PATH</name> <!-- this links to the variable-definition name -->
<xpath>/web-app/env-entry[env-entry-name="SERVLET_PATH"]/env-entry-value</xpath>
</variable-assignment>
</module-descriptor>
</module-override>
Run Code Online (Sandbox Code Playgroud) 当您在编写JSP页面并在Oracle OC4J或Application Server下运行时遇到严重的编译错误时,您最终可以在屏幕上显示以下内容:
500内部服务器错误OracleJSP:发生错误.请咨询应用程序/系统管理员以获取支持 程序员应该考虑将init-param debug_mode设置为"true"以查看完整的异常消息.
我已经看到了关于如何/在何处设置debug_mode init-param的不同建议.有什么选择?
另外,这是Oracle特有的,还是JSP标准功能?对于其他应用服务器,该技术有何不同?