标签: weblogic

WebLogic Integration和Oracle Service Bus之间的区别?

我对基于Java的技术知之甚少,出于业务实施的原因,我可能需要确定WebLogic Integration(WLI)或Oracle Service Bus(OSB)是否是将少量独立系统集成在一起的更好选择.这两种产品似乎都能够执行类似的任务,但在一种情况下(WLI),集成在技术上更受驱动,而另一种(OSB)则更多地由业务流程驱动.

假设成本是没有选择的,任何人都可以提供一个很好的描述,何时会选择使用一种产品而不是另一种?一种选择是否涉及更多自定义Java编码与配置?

system-integration weblogic esb

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

在Weblogic 10.3中调用EJB时​​出现NameNotFoundException

我有一个EJB定义如下:

package com.foo;
@Stateless (mappedName="HelloWorld")
public class HelloWorldBean implements HelloWorld, HelloWorldLocal
....
Run Code Online (Sandbox Code Playgroud)

当它部署到Weblogic(WL)时,它获得名称myBean.我不确定这是否重要.

我尝试使用以下代码调用bean:

Hashtable ht = new Hashtable();
ht.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
ht.put(Context.PROVIDER_URL, "t3://localhost:7001");
ic = new InitialContext(ht);
tp = (HelloWorld) ic.lookup("HelloWorld#com.foo.HelloWorldBean");
Run Code Online (Sandbox Code Playgroud)

任何人都知道我为什么会收到以下错误?

javax.naming.NameNotFoundException: While trying to lookup 'HelloWorld#com.foo.HelloWorldBean' didn't find subcontext 'HelloWorld#com'.
 Resolved '' [Root exception is javax.naming.NameNotFoundException: While trying
 to lookup 'HelloWorld#com.foo.HelloWorldBean' didn't find
 subcontext 'HelloWorld#com'. Resolved '']; remaining name 'HelloWorld#com/foo/HelloWorldBean'
Run Code Online (Sandbox Code Playgroud)

java weblogic stateless-session-bean ejb-3.0 weblogic-10.x

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

Weblogic配置 - prefer-web-inf-classes

必须为Web-INF中指定的类指定prefer-web-inf-classes,以优先于weblogic服务器的应用程序库中存在的类.我有一个特殊情况,我需要类加载器使用WEB-INF文件夹中的一个特定jar.有没有办法做到这一点?

weblogic

7
推荐指数
2
解决办法
2万
查看次数

Weblogic和Oracle:Stuck ExecuteThread

我们在集群Weblogic环境中运行带有Hibernate的SpringMVC.我们的应用程序运行良好,直到我们遇到数据库空间问题.因此,我们的数据库提供程序扩展了数据库存储.

在更改之后,Weblogic系统状态正在抱怨线程池"线程池已经卡住线程".

日志文件中的堆栈跟踪如下所示:

<Error> <WebLogicServer> <BEA-000337> <[STUCK] ExecuteThread: '12' for queue: 'weblogic.ke
rnel.Default (self-tuning)' has been busy for "641" seconds working on the request "weblogic.servlet.internal.ServletReq
uestImpl@17782ff3[
GET /default/default/applicationPreloader/load.do?_=1331887527968 HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:10.0.2) Gecko/20100101 Firefox/10.0.2
Accept: */*
Accept-Language: en-gb,en;q=0.5
Accept-Encoding: gzip, deflate
x-requested-with: XMLHttpRequest
Referer: http://novintegweb01.eu.acme.net:9136/default/default/applicationPreloader.do
Cookie: JSESSIONID1=NhBdPv9Hx8Wj5lnr5vnGhLSbR2GGM1DPhqT2YGzWCGFvhN3WJWVH!700169023!1391220923
Connection: Keep-Alive
Proxy-Client-IP: 192.168.1.1
X-Forwarded-For: 192.168.1.1
X-WebLogic-KeepAliveSecs: 30
X-WebLogic-Request-ClusterInfo: true
x-weblogic-cluster-hash: G4kGT1kfuDBbtj5w//SYNt6hlVo

]", which is more than the configured time (StuckThreadMaxTime) of "600" seconds. Stack trace:
        java.net.SocketInputStream.socketRead0(Native Method)
        java.net.SocketInputStream.read(SocketInputStream.java:129)
        oracle.net.ns.Packet.receive(Packet.java:293) …
Run Code Online (Sandbox Code Playgroud)

java oracle hibernate weblogic jdbc

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

Spring @Resource Handling

@Resource在使用Spring bean 注释的字段时遇到了问题.是)我有的:

带有setter方法的字段,带注释 @Resource

@Resource
private URL someUrl;

public void setSomeUrl(URL someUrl) {
    this.someUrl = someUrl;
}
Run Code Online (Sandbox Code Playgroud)

<env-entry>我的部署描述符中的标记(web.xml)

<env-entry>
    <env-entry-name>someUrl</env-entry-name>
    <env-entry-type>java.net.URL</env-entry-type>
    <env-entry-value>http://somedomain.net/some/path</env-entry-value>
</env-entry>
Run Code Online (Sandbox Code Playgroud)

应用程序无法以a开头BeanCreationException,我没想到,因为我不一定要Spring注入一个Spring管理的bean.我希望Spring处理@Resource和检索JNDI资源.

这是Spring 2.5.6SEC03,bean本身注释@Service为自动装配到其他@Component实例中.在这种情况下,Servlet容器是Tomcat 7,但最终将部署到Weblogic 10上,所以虽然我希望理想的解决方案同时适用于两者,但Weblogic是必备的.

我是否在Spring 2.5中滥用此功能?一般来说?我有点遗失吗?我误解了JNDI的一些事情?所有帮助表示赞赏.谢谢.

java spring tomcat weblogic jndi

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

Weblogic 10.3.5覆盖Spring版本

我正在使用Oracle的OEPE发行版开发一个Web应用程序,包括Weblogic服务器10.3.5.WLS包含自己的Spring版本,似乎是2.5.6.SEC01.但是,我们正在尝试使用特定于3.1版本的Spring和Spring Security功能.

Maven POM将Spring Version定义为3.1.1.RELEASE属性(将该属性插入到各个部分,即:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>${spring.version}</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

我在weblogic.xml中尝试了两种不同的方法来排除内置的Spring(一个在下面注释掉,但请放心,我已经尝试了两种方法):

<wls:container-descriptor>
    <wls:prefer-application-packages>
        <wls:package-name>com.oracle.ojdbc16.*</wls:package-name>
        <wls:package-name>antlr.*</wls:package-name>
        <wls:package-name>javax.persistence.*</wls:package-name>
        <wls:package-name>org.apache.commons.*</wls:package-name>
        <wls:package-name>org.springframework.*</wls:package-name>
        <wls:package-name>org.hibernate.*</wls:package-name>
        <wls:package-name>org.apache.xerces.*</wls:package-name>
    </wls:prefer-application-packages>
    <!-- <wls:prefer-web-inf-classes>true</wls:prefer-web-inf-classes> -->
</wls:container-descriptor>
Run Code Online (Sandbox Code Playgroud)

使用我自己的Spring版本,我需要做什么?

spring weblogic

7
推荐指数
2
解决办法
9776
查看次数

Weblogic应用程序上下文根是war文件名,而不是weblogic.xml中指定的名称

我有一个使用Maven部署的应用程序Weblogic 10.3.6.我已在weblogic.xml中指定了上下文根

<context-root>/myapps</context-root>
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是它将war文件名作为上下文根而不是我指定的名称 weblogic.xml

如何更改上下文根而不是将war文件名作为上下文根?

weblogic.xml中

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd 
 http://xmlns.oracle.com/weblogic/weblogic-web-app 
 http://xmlns.oracle.com/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd">
 <context-root>/myapps</context-root>
<container-descriptor>
        <prefer-application-packages>
            <package-name>antlr.*</package-name>
            <package-name>org.hibernate.*</package-name>
            <package-name>javax.persistence.*</package-name>
        </prefer-application-packages>
    </container-descriptor>
    </weblogic-web-app>
Run Code Online (Sandbox Code Playgroud)

deployment weblogic war contextroot weblogic11g

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

java.lang.ClassFormatError:类文件中的重复方法名称和签名

我们正在将应用程序升级Weblogic 10.3.010.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

java ejb weblogic java-ee

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

将EJB注入servlet

我用Google搜索,试图理解为什么Weblogic 10.3.4没有将EJB注入到servlet的带注释字段中.

Ear包含定义DAO EJB的ejb.jar和带有TestServlet的web.war.

PluginDataDAO.java

@Stateless
public class PluginDataDAO implements IPluginDataDAO {

}
Run Code Online (Sandbox Code Playgroud)

IPluginDataDAO.java

@Local
public interface IPluginDataDAO  {

}
Run Code Online (Sandbox Code Playgroud)

TestServlet.java

public class TestServlet extends HttpServlet {
    @EJB(mappedName = "PluginDataDAO")
    private IPluginDataDAO pluginDataDAO;
}
Run Code Online (Sandbox Code Playgroud)

web.xml中

<web-app version="2.5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID">
<servlet>
    <servlet-name>TestServlet</servlet-name>
    <servlet-class>cz.literak.blog.j2ee.TestServlet</servlet-class>
</servlet>
Run Code Online (Sandbox Code Playgroud)

Servlet位于ejb.jar中的web.war,EJB内部.没有运气,我尝试使用/不使用映射名称属性的注释.当我尝试将web.xml升级到3.0时,部署失败,未枚举3.0.怎么了?为什么pluginDataDAO仍然为空?谢谢.

java servlets dependency-injection ejb weblogic

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

服务引用(VS2013)在命名空间中使用元素名称声明了多个错误

我正在尝试使用由Visual Studio 2013中的Oracle Web Logic创建的Web服务.我添加了服务引用,但是当我调用服务构造函数时,我收到错误:

在操作(operationName)中,在名称空间(名称空间URL)中使用元素名称(elementName)声明了多个错误

WSDL中此操作的片段如下图所示:

在此输入图像描述

每次我尝试使用该服务时都会抛出此异常,我无法继续进行此操作.

这是WSDL的问题还是我可以作为消费者做些什么?

c# wcf wsdl weblogic visual-studio-2013

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