use*_*598 5 websphere spring birt
我试图开始将项目部署到Websphere,并且得到以下错误提示。(缩短)
ERROR org.springframework.web.context.ContextLoader - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'birtView' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Cannot resolve reference to bean 'birtEngine' while setting bean property 'birtEngine'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'birtEngine': FactoryBean threw exception on object creation; nested exception is java.lang.RuntimeException: Could not start the Birt engine!
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'birtEngine': FactoryBean threw exception on object creation; nested exception is java.lang.RuntimeException: Could not start the Birt engine!
Caused by: java.lang.RuntimeException: Could not start the Birt engine!
Caused by: org.eclipse.birt.core.exception.BirtException: error.CannotStartupOSGIPlatform
Caused by: org.eclipse.birt.core.framework.FrameworkException: Cant register the ExtensionRegistry classpath
Caused by: org.eclipse.core.runtime.CoreException: Extension registry provider is already set.
Run Code Online (Sandbox Code Playgroud)
我在网上发现第三条从底部错误的解决方案是删除以下代码行。
config.setEngineHome("C:/birt-runtime-3_7_0/ReportEngine");
Run Code Online (Sandbox Code Playgroud)
但是,这对于我们的设置不存在并且是不必要的。它(使用的BIRT特定代码)与在线示例非常相似:
http://www.springsource.org/BusinessIntelligenceWithSpringAndBIRT
BirtView和BirtEngineFactory是我项目中唯一相关的部分。我已经进入了此错误页面和论坛条目,并尝试添加代码。这没用。该项目启动并在Tomcat 6x上正常运行。
http://www.eclipse.org/forums/index.php/m/727929/
https://bugs.eclipse.org/bugs/show_bug.cgi?id=351052
我将Web Sphere中的类加载器顺序设置为“首先使用应用程序类加载器加载类”。如下面链接中的示例所示。
http://wiki.eclipse.org/BirtPOJO_Viewer_WebSphere_Deployment
我仍然会遇到同样的错误,并且不确定应该做什么。我知道在不发布代码的情况下问这个问题有点困难,但是有人会对我应该寻找的东西有一个想法吗?谢谢。
我有和你完全一样的错误。我正在使用BIRT 3.7.2和IBM WAS 8.5
参考下面详细描述的错误, 重新启动ReportEngine时会出现org.eclipse.core.runtime.CoreException
以及下面指定的错误的实际原因, ServiceLauncher.shutdown()不会释放默认的RegistryProvider
我在Platform.startup(..)通话
之前添加了以下行RegistryProviderFactory.releaseDefault();
此后,BIRT报告运行良好。
但是,我怀疑这是否会破坏WAS的运行时中的任何内容。原因是...
如该错误中所述,当再次尝试启动平台时,会发生此异常。在这里,在Platform.shutdown()上,RegistryProvider未释放,因此是异常。
现在,以我为例,IBM Websphere 8.5内部使用OSGi,因此启动了OSGi Platform。因此,当我们的应用程序尝试再次启动平台(第二次启动)时,会发生异常。我在这里担心的是,这不会破坏WAS的运行时(因为它在内部使用OSGi)。
注册表提供程序不为空,如BIRT运行时所设置的那样,因此,这里唯一的问题可能是类版本不匹配,即WAS的注册表提供程序和BIRTs注册表提供程序,如果不同,则版本冲突。
我不确定我使用的解决方案。专家请指导。
| 归档时间: |
|
| 查看次数: |
2801 次 |
| 最近记录: |