标签: weblogic

'weblogic restart'上的用户必须提供JDBC连接

我正在使用Weblogic 11.在初始部署所有JMS配置之后,JDBC配置(来自XADS-jdbc.xml)和耳朵一切正常.

但是在weblogic重启应用程序无法初始化时出错

Caused By: java.lang.UnsupportedOperationException: The user must supply a JDBC connection
 at org.hibernate.connection.UserSuppliedConnectionProvider.getConnection(UserSuppliedConnectionProvider.java:54)
 at org.hibernate.tool.hbm2ddl.SuppliedConnectionProviderConnectionHelper.prepare(SuppliedConnectionProviderConnectionHelper.java:51)
 at org.hibernate.tool.hbm2ddl.SchemaValidator.validate(SchemaValidator.java:130)
 at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:349)
 at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1327)
 at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
 at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669)
 at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:132)...
Run Code Online (Sandbox Code Playgroud)

根据日志JDBC和EAR开始同步初始化.因此,当EAR尝试验证DB方案时,JDBC配置初始化尚未完成.

什么能解决这种情况?是否有任何weblogic配置使用哪些部署项初始化可以订购?

提前致谢.

persistence.xml中:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0"
    xmlns="http://java.sun.com/xml/ns/persistence"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="TestDSPU" transaction-type="JTA">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <jta-data-source>jdbc/testN/test/TestXADS</jta-data-source>
    <mapping-file>META-INF/orm.xml</mapping-file>
    <properties>
        <!-- <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle9iDialect"/>  -->
        <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/> 
        <property name="hibernate.max_fetch_depth" value="3"/>
        <!-- <property name="hibernate.cache.use_query_cache" value="true"/> -->
        <property name="hibernate.cache.region_prefix" value="hibernate.test"/>
        <property name="hibernate.jdbc.use_streams_for_binary" value="true"/>
        <property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.WeblogicTransactionManagerLookup"/>
        <property name="show_sql" value="true"/>
        <property name="hibernate.query.factory_class" value="org.hibernate.hql.classic.ClassicQueryTranslatorFactory"/> …
Run Code Online (Sandbox Code Playgroud)

java weblogic initialization jdbc

8
推荐指数
1
解决办法
2552
查看次数

无法向weblogic队列发送消息

我试图将一个字符串消息发送到weblogic服务器中创建的JMS队列.我使用Eclipse ide,当我运行我的Web应用程序时,我得到以下错误,并且tomcat服务器被关闭.错误是

javax.naming.CommunicationException [Root exception is java.rmi.UnmarshalException: failed to unmarshal class weblogic.security.acl.internal.AuthenticatedUser; nested exception is: 
    java.io.StreamCorruptedException: invalid type code: 31]
    at weblogic.jndi.internal.ExceptionTranslator.toNamingException(ExceptionTranslator.java:74)
    at weblogic.jndi.internal.ExceptionTranslator.toNamingException(ExceptionTranslator.java:32)
    at weblogic.jndi.WLInitialContextFactoryDelegate.toNamingException(WLInitialContextFactoryDelegate.java:773)
    at weblogic.jndi.WLInitialContextFactoryDelegate.pushSubject(WLInitialContextFactoryDelegate.java:673)
    at weblogic.jndi.WLInitialContextFactoryDelegate.newContext(WLInitialContextFactoryDelegate.java:466)
    at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:373)
    at weblogic.jndi.Environment.getContext(Environment.java:307)
    at weblogic.jndi.Environment.getContext(Environment.java:277)
    at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:117)
    at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
    at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
    at javax.naming.InitialContext.init(Unknown Source)
    at javax.naming.InitialContext.<init>(Unknown Source)
    at com.infotech.jms.JMSBEAQueueSend.sendMessage(JMSBEAQueueSend.java:48)
    at com.infotech.struts.actions.AppAction.execute(AppAction.java:75)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) …
Run Code Online (Sandbox Code Playgroud)

java weblogic jms

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

远程访问Weblogic服务器

我在本地安装,现在在我的机器上运行Weblogic Server.我可以使用像192.168.XXX.XXX:7001/myapp /这样的URL从我的机器访问Web应用程序,但我无法从连接在同一网络中的其他机器访问它.我做了这个:进入管理控制台,点击我的服务器,然后在Listen Address旁边的文本框中插入我的IP.但它没有帮助.

请帮我解决这个问题.

java weblogic

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

weblogic.application.ModuleException:上下文路径''已被模块使用:/ application:

当我试图运行weblogic服务器12c时,它抛出此错误,无法启动.

    <Apr 16, 2013 2:42:57 PM IST> <Warning> <HTTP> <BEA-101384> <WLServlet annotation is deprecated, please use servlet 3.0 annotation instead. App:acsportal@acs-portal.war, Class:oracle.adfinternal.view.faces.activedata.AdsServlet>
    <Apr 16, 2013 2:42:58 PM IST> <Error> <Deployer> <BEA-149205> <Failed to initialize the application "acsportal" due to error weblogic.application.ModuleException: Context path '' is already in use by the module: / application: acs-portal
    weblogic.application.ModuleException: Context path '' is already in use by the module: / application: acs-portal
            at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:732)
            at weblogic.application.internal.flow.ScopedModuleDriver.prepare(ScopedModuleDriver.java:188)
            at weblogic.application.internal.ExtensibleModuleWrapper.prepare(ExtensibleModuleWrapper.java:83)
            at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:100)
            at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:172)
            Truncated. see …
Run Code Online (Sandbox Code Playgroud)

java webserver weblogic weblogic12c

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

服务器启动时,类路径中的bootstrap可执行jar文件

我有一个捆绑为可执行jar文件并添加到weblogic/tomcat类路径的库,如何在服务器启动并从jar文件加载类时从jar文件执行main方法.

我想要的是在加载jar文件并且服务器在没有任何用户干预的情况下启动时首先执行一些初始化代码.

注意:我知道我可以在war文件中捆绑我的jar,但是我的库中有一些aspectj代码,我想在jvm中编织所有正在运行的应用程序,当我在war文件中捆绑我的jar时,aspectj代码只会编织进入war文件中的类,所以我在类路径中添加了我的库jar文件.

提前致谢.

java tomcat weblogic jar classpath

8
推荐指数
2
解决办法
1927
查看次数

Seam/Hibernate:JPA启动前的liquibase

我有一个Java EE Web应用程序(hibernate3,seam),我在Weblogic容器中使用它.我想介绍Liquibase进行架构迁移.目前我们使用

<property name="hibernate.hbm2ddl.auto" value="update"/>
Run Code Online (Sandbox Code Playgroud)

我们想放弃它,因为它可能是危险的.

我希望迁移自动发生在部署中,所以我正在使用servlet侦听器集成.

在web.xml中,第一个侦听器是:

<listener>
    <listener-class>liquibase.integration.servlet.LiquibaseServletListener</listener-class>
</listener>
Run Code Online (Sandbox Code Playgroud)

遗憾的是,这个监听器在Hibernate初始化之后开始运行并且它抛出了丢失的表错误(因为模式是空的).我几个小时就像老板一样疯狂,现在我有点困惑.

提前致谢

UPDATE

如果我设置<property name="hibernate.hbm2ddl.auto" value="none" />,liquibase成功完成它的工作,应用程序按预期启动.如果我设置validate,似乎hibernate模式验证发生在liquibase之前,它因为缺少表而哭泣.

UPDATE

看起来Seam初始化了Hibernate,但Liquibase监听器在SeamListener之前被列出,所以我不知道如何同时启用模式验证和liquibase ...

java hibernate weblogic seam liquibase

8
推荐指数
1
解决办法
2407
查看次数

Weblogic并行应用程序部署

通过并行应用程序部署,我正在讨论摆脱Weblogic部署中的编辑锁定错误.

[Deployer:149163]The domain edit lock is owned by another session in non-exclusive mode - 
this deployment operation requires exclusive access to the edit lock and hence cannot proceed.
If you are using "Automatically Aquire Lock and Activate Changes" in the console, 
then the lock will expire shortly so retry this operation. -> [Help 1]

我通过谷歌,stackoverflow和oracle本身完成了我的研究,一无所获.

我相信像Weblogic这样功能强大的AS应该已经涵盖了这个功能,任何人都可以帮助我吗?

**编辑1:**我正在通过一些Ant脚本进行部署,因此并行部署确实是我需要的.

**编辑2:**我需要通过Ant或Maven等自动化进行并行部署,因此手动解锁实际上不是我的选择......

weblogic web-deployment

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

ava.lang.IllegalAccessError:尝试访问方法com.google.common.collect.MapMaker.makeComputingMap(); 来自WeldMessageConveyor

当我尝试在weblogic12上部署webApp时出现以下异常:

weblogic.application.ModuleException: java.lang.IllegalAccessError: tried to access method com.google.common.collect.MapMaker.makeComputingMap(Lcom/google/common/base/Function;)Ljava/util/concurrent/ConcurrentMap; from class org.jboss.weld.logging.WeldMessageConveyor
at weblogic.application.internal.ExtensibleModuleWrapper.start(ExtensibleModuleWrapper.java:140)
at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:124)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:213)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:208)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42)
Truncated. see log file for complete stacktrace
Caused By: java.lang.IllegalAccessError: tried to access method com.google.common.collect.MapMaker.makeComputingMap(Lcom/google/common/base/Function;)Ljava/util/concurrent/ConcurrentMap; from class org.jboss.weld.logging.WeldMessageConveyor
at org.jboss.weld.logging.WeldMessageConveyor.<init>(WeldMessageConveyor.java:61)
at org.jboss.weld.logging.WeldMessageConveyerFactory.getDefaultMessageConveyer(WeldMessageConveyerFactory.java:27)
at org.jboss.weld.logging.LoggerFactory.<init>(LoggerFactory.java:37)
at org.jboss.weld.logging.LoggerFactory.loggerFactory(LoggerFactory.java:51)
at org.jboss.weld.bootstrap.WeldBootstrap.<clinit>(WeldBootstrap.java:126)
Truncated. see log file for complete stacktrace
Run Code Online (Sandbox Code Playgroud)

任何人都知道为什么?我的应用程序使用Errai

java gwt weblogic gxt errai

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

使用JAX-WS在WebLogic中没有模式导入的单个WSDL

如何使用JAX-WS配置WebLogic 10.3.6生成的Web服务,以将对象模式包含在单个WSDL文件声明中,而不是导入声明?

示例代码:

接口

import javax.ejb.Local;

@Local
public interface CustomerBeanLocal {

    public void updateCustomer(Customer customer);

}
Run Code Online (Sandbox Code Playgroud)

会话Bean

import javax.ejb.Stateless;
import javax.jws.WebService;

@Stateless
@WebService
public class CustomerBean implements CustomerBeanLocal {

    @Override
    public void updateCustomer(Customer customer) {
        // Do stuff...
    }   

}
Run Code Online (Sandbox Code Playgroud)

WSDL生成

我们需要在<xsd:import>下面的示例中不使用标记导入模式定义,而是在WSDL中声明,这意味着所有合同信息都在单个WSDL文件中.没有其他文件的依赖.

<!-- ... -->

<types>
  <xsd:schema>
  <xsd:import namespace="http://mybeans/" schemaLocation="http://192.168.10.1:7001/CustomerBean/CustomerBeanService?xsd=1" /> 
  </xsd:schema>
</types>

<!-- ... -->
Run Code Online (Sandbox Code Playgroud)

与WildFly相同的代码包含WSDL中的模式类型,并且不使用导入功能.经过一些研究后,我没有找到一种方法来配置bean /服务器在WebLogic中执行它(没有找到JAX-WS或WebLogic专有功能来执行此操作).

我理解具有导出模式(可重用性等)的好处,但是项目的要求是必须在WSDL内部声明类型,而不是导入.

java wsdl web-services weblogic jax-ws

8
推荐指数
1
解决办法
3014
查看次数

RequestDispatcher在Weblogic 12c中以编程方式包含JSP的问题

我正在努力应对以下情况:

在我们当前运行在Tomcat 7.0.64上的Web应用程序中,我们设法通过Java在自己的类的帮助下包含一个JSP页面CharArrayWriterResponse implementing HttpServletResponseWrapper.

这样做的原因是我们将生成的HTML包装成AJAX响应所需的JSON.

依赖关系:

<dependency>
     <groupId>javax</groupId>
     <artifactId>javaee-web-api</artifactId>
     <version>7.0</version>
     <scope>provided</scope>
</dependency>
<dependency>
     <groupId>javax.servlet</groupId>
     <artifactId>jstl</artifactId>
     <version>1.2</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

代码示例:

// somewhere in servlet doPost()/doGet()
try (PrintWriter out = response.getWriter()) {
     out.println(getJspAsJson(request, response));
}

private static String getJspAsJson(HttpServletRequest request, HttpServletResponse response) {
    String html = getHtmlByJSP(request, response, "WEB-INF/path/to/existing.jsp");
    Gson gson = new GsonBuilder().disableHtmlEscaping().create();
    return "{\"results\":" + gson.toJson(html) + "}";
}

public static String getHtmlByJSP(HttpServletRequest request, HttpServletResponse response, String jsp) {
     CharArrayWriterResponse customResponse = new CharArrayWriterResponse(response);
     request.getRequestDispatcher(jsp).include(request, customResponse);
     return customResponse.getOutput(); …
Run Code Online (Sandbox Code Playgroud)

java jsp weblogic tomcat7 weblogic12c

8
推荐指数
1
解决办法
887
查看次数