我对基于Java的技术知之甚少,出于业务实施的原因,我可能需要确定WebLogic Integration(WLI)或Oracle Service Bus(OSB)是否是将少量独立系统集成在一起的更好选择.这两种产品似乎都能够执行类似的任务,但在一种情况下(WLI),集成在技术上更受驱动,而另一种(OSB)则更多地由业务流程驱动.
假设成本是没有选择的,任何人都可以提供一个很好的描述,何时会选择使用一种产品而不是另一种?一种选择是否涉及更多自定义Java编码与配置?
我正在寻找将外部属性文件与将要部署在Weblogic 10.3服务器上的应用程序一起使用的最佳方法.我在网站上阅读了很多文章,但我不想硬编码属性文件的路径或将文件放在domains/mydomain文件夹中.
有没有动态的方法这样做,所以当部署应用程序时,属性文件也安装在例如deployments文件夹下并从那里读取?
非常感谢
我们在Weblogic 10.3上运行的遗留J2EE Web应用程序的响应时间差异很大.该系统由两个Weblogic服务器实例(前端和后端)组成,它们运行在同一个物理服务器计算机上,另一个Oracle数据库运行在单独的主机上.每次登录系统需要超过四秒钟时,外部测量工具会提醒我们.最近这些警告频繁发生.查看处理登录请求的servlet所写的日志会显示从前端到后端的EJB调用所花费的时间.
测量时间示例:
time ms
8:40:43 25
8:42:14 26
8:44:04 26
8:44:25 26
8:44:47 26
8:46:06 26
8:46:41 7744
8:47:00 27
8:47:37 27
8:49:00 26
8:49:37 26
8:50:03 8213
8:50:57 27
8:51:04 26
8:51:06 25
8:57:26 2545
8:58:13 26
9:00:06 5195
Run Code Online (Sandbox Code Playgroud)
可以看出,大多数请求(70%,来自更大的样本)及时完成,但其中很大一部分需要很长时间才能完成.
在测量时间内执行的步骤如下:
服务器计算机上的负载非常小(空闲率为99%),用户数量非常适中.两个服务器上Weblogic报告的可用内存量在60%到90%之间.记录垃圾收集.主要藏品很少见,并且在发生时会在2-3秒内完成.此外,主要的GC出现似乎不会在看到长响应时间的同时发生.繁忙和非繁忙时段都会出现较长的响应时间.JDBC连接池最大大小当前设置为80,大于并发用户数.
更新:
获得了重新启动系统的权限,并添加了更多性能日志记录.日志清楚地显示JNDI查找是花费时间的部分:
03:01:23.977 PERFORMANCE: looking up foo.bar.Bar from JNDI took 6 ms
03:14:47.179 PERFORMANCE: looking up foo.bar.Bar from JNDI took 2332 ms
03:15:55.040 PERFORMANCE: looking up …Run Code Online (Sandbox Code Playgroud) 当我运行我的maven构建脚本时,我得到了
Plugin com.oracle.weblogic:weblogic-maven-plugin:2.9.1 or one of its dependencies could not be resolved: Failed to read artifact descriptor for com.oracle.weblogic:weblogic-maven-plugin:jar:2.9.1: Could not find artifact com.oracle.weblogic:weblogic-maven-plugin:pom:2.9.1 in central (http://repo1.maven.org/maven2)
Run Code Online (Sandbox Code Playgroud)
但是当我在存储库中搜索时,我可以在那里看到它http://search.maven.org/#search|ga|1 | weblogic-maven-plugin为什么这个插件不可用?
如何将jar添加到Oracle 10.3.5的类路径中......正如我所理解的,文档(自述文件)中存在一个错误(或不正确的信息),指出放在$ DOMAIN_HOME/lib目录中的任何jar文件将动态添加到类路径...但在10.3.3的真实文档中,它声明这些文件不再被添加到类路径...
所以在这里我试图找出 - 如何将jar添加到类路径...我已经尝试更改commonEnv.sh并且我正在寻找setDomainEnv.sh(但是暂时找不到它)并且没有这些东西已经成功地将这个jar添加到类路径中......
我的问题是我将数据源添加到我的服务器......我正在尝试将DB2 jar添加到环境中以便可以使用...有趣的是,在$ DOMAIN_HOME/lib中添加jar后我在尝试测试与数据库的连接时能够摆脱管理控制台中的连接错误...而且一切似乎都有效但现在我得到了一个类定义错误...
]] Root cause of ServletException.
java.lang.NoClassDefFoundError: com/ibm/db2/jcc/DB2Connection
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:630)
at java.lang.ClassLoader.defineClass(ClassLoader.java:614)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:343)
Truncated. see log file for complete stacktrace
Caused By: java.lang.ClassNotFoundException: com.ibm.db2.jcc.DB2Connection
at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:297)
at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:270)
at java.lang.ClassLoader.loadClass(ClassLoader.java:305)
at java.lang.ClassLoader.loadClass(ClassLoader.java:246)
at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:179)
Truncated. see log file for complete stacktrace
Run Code Online (Sandbox Code Playgroud)
还有什么可以尝试 - 我搜索了一些答案,但看起来所有这些都是陈旧的和过时的......
我们刚刚在Oracle的Java EE框架ADF中启动了一个项目.通常我们在Tomcat中开发,然后部署到生产WebLogic服务器中.
但我们意识到ADF需要在本地安装WebLogic服务器才能在Eclipse/JDeveloper中进行开发.这是非常重量级的,甚至配置为dev,它正在杀死我们的机器,并且需要很长时间才能部署.
那么,我们可以调整任何配置参数,以便WebLogic尽可能少地使用资源吗?我们可以使用任何替代品吗?
我们主要关心的是内存(它花费了800MB)和启动时间(约2分钟)
我们正在将应用程序升级Weblogic 10.3.0到10.3.6.当我们尝试部署它时,我们得到错误:
java.lang.ClassFormatError: Duplicate method name&signature in class file...
Run Code Online (Sandbox Code Playgroud)
经过进一步调查,我们发现问题是由如下代码引起的:
interface Foo{
void foo();
}
interface Bar{
void foo();
}
interface Baz extends Foo, Bar{}
BazEJB implements Baz....
Run Code Online (Sandbox Code Playgroud)
这导致在Baz中生成2个foo方法.... ELOImpl.class当我们尝试部署ear文件时会导致此错误.
明显的解决方法是删除此模式,但还有其他建议吗?我们这里是错误的还是应该被视为weblogic中的错误?
我们仍然在使用EJB 2这种模式Weblogic 8.1 and 10.3.0
如何增加Weblogic(Java)使用的内存.从eclipse启动服务器时会显示一条消息JAVA Memory arguments: -Xms256m -Xmx512m -XX:MaxPermSize=256m.我无法理解它从哪里获取价值.一段时间后,Weblogic服务器由于低permgen空间而失败.
我从控制台添加了启动参数,但没有任何效果.你能从哪里获取内存值来帮助我吗?
我们的项目有多个EJB模块,我们希望persistence.xml在它们之间共享一个文件.
我们将persistence.xml文件放在EARs META-INF目录中,但持久性单元在运行时不可用.似乎文件永远不会被读取,因为我们强制使用不正确的类和jar文件,但没有任何反应.
为什么WebLogic不读取persistence.xmlEAR中的文件?
运行代码时出现以下错误,未找到PU(可用持久性单位:[]).
Caused By: java.lang.IllegalArgumentException: No persistence unit named 'em' is available in scope ejb1-module.jar. Available persistence units: []
Run Code Online (Sandbox Code Playgroud)
persistence.xml中
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence">
<persistence-unit name="system-unit" transaction-type="JTA">
<jta-data-source>sysmtem-ds</jta-data-source>
<jar-file>../ejb1-module.jar</jar-file>
<class>...</class>
<class>...</class>
<class>...</class>
</persistence-unit>
</persistence>
Run Code Online (Sandbox Code Playgroud)
结构(持久性单元放在EAR内)
EAR +
|- META-INF +
| - persistence.xml
|- ejb1-module.jar
|- ejb2-module.jar
|- ejb3-module.jar
Run Code Online (Sandbox Code Playgroud)
我们正在使用WebLogic 10.3.6,它使用JPA 1.0和TopLink/EclipseLink.
我有以下结构的项目
--MyPrj.ear
--APP-INF
--src
--lib
--META-INF
--application.xml
--weblogic-application.xml
--WEB_MAIN
--assets
--WEB-INF
--conf
--web.xml
--weblogic.xml
Run Code Online (Sandbox Code Playgroud)
我想以下面的结构部署到PRJ.ear文件:
--MyPrj.ear
--APP-INF
--classes
--lib
--META-INF
--application.xml
--weblogic-application.xml
--WEB_MAIN
--assets
--WEB-INF
--conf
--web.xml
--weblogic.xml
Run Code Online (Sandbox Code Playgroud)
这是我的耳朵配置:
ear {
baseName 'PRJ'
appDirName 'APP-INF/src'
libDirName 'APP-INF/lib'
ear{
into("META-INF"){
from("META-INF") {
exclude 'application.xml'
}
}
into("WEB_MAIN") {
from ("WEB_MAIN")
}
}
deploymentDescriptor {
webModule 'WEB_MAIN', '/'
applicationName = "PRJ"
}
}
Run Code Online (Sandbox Code Playgroud)
我的实际结果:
--MyPrj.ear
--APP-INF
--lib
--com
--META-INF
--application.xml
--weblogic-application.xml
--WEB_MAIN
--assets
--WEB-INF
--conf
--web.xml
--weblogic.xml
Run Code Online (Sandbox Code Playgroud)
无法生成 APP-INF/classes
weblogic ×10
java ×7
ear ×1
ejb ×1
esb ×1
gradle ×1
java-ee ×1
jpa ×1
maven ×1
oracle ×1
oracle-adf ×1
performance ×1
permgen ×1
properties ×1
weblogic11g ×1
weblogic12c ×1