标签: weblogic

语法 使用 WLST 将库部署到 Weblogic 10.3.6

我一直在尝试jstl-1.1.2通过 WLST 将可部署库部署到我的 Weblogic 10.3.6,但无法将其部署为library.

我搜索过互联网,找到的每个地方都列出了如何以不同的方式传递给options函数deploy()

Oracle 的文档也非常没有帮助。

以下是我使用 Google 找到的关于此问题的最新帖子,但它不起作用:

connect('weblogic', 'weblogic1')

edit()
startEdit()

deploy('jstl-1.1.2', path='/opt/Oracle/Middleware/wlserver_10.3/common/deployable-libraries/jstl-1.1.2.war', libraryModule='true')
save()
activate()
Run Code Online (Sandbox Code Playgroud)

我还尝试了以下建议工作的语法;它没有:

options = {}
options.setdefault("libraryModule", "true")
deploy('jstl-1.1.2', path='/opt/Oracle/Middleware/wlserver_10.3/common/deployable-libraries/jstl-1.1.2.war', **options)
Run Code Online (Sandbox Code Playgroud)

我已经尝试过了libraryModule=truelibraryModule='true'libraryModule="true"没有一个有效;它们都会导致deploy命令不执行任何操作。

weblogic wlst weblogic-10.x

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

如何登录到 Weblogic 12c 中的日志文件

我多年来一直在使用 Tomcat、JBoss、Glassfish 等。在这些容器中,我使用了 Log4j、JDK Logging 等。这非常简单。

我正在努力从 Weblogic 12c 中的应用程序中获取任何日志记录。日志被写入 stderr 而不是日志文件。

private final static Logger log = Logger.getLogger(TestingService.class.getName()); 
log.log(Level.SEVERE,"My log " + text);
Run Code Online (Sandbox Code Playgroud)

在管理控制台日志实现中:JDK 严重级别:INFO

如果我按照 log4j Weblogic 配置过程配置 Log4J,则行为是相同的。

java logging weblogic weblogic12c

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

使用命令行强制停止 weblogic 服务器

我想使用命令行强制关闭 weblogic 服务器。我有一个特定的场景。我编写了一个批处理文件来做一些事情,然后使用stopWebLogic.cmd如下方式关闭 weblogic 服务器:

"%WEBLOGIC_DOMAIN_PATH%\bin\stopWebLogic.cmd"
Run Code Online (Sandbox Code Playgroud)

我已经浏览了这个文件。但我不能遵循这种方法,因为我不想改变stopWebLogic.cmd。有没有办法实现这一目标?

weblogic weblogic12c

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

JAX-WS 使用 @SchemaValidation 验证 WebLogic 中的架构

我无法找到解决方案,而且我发现更多人遇到了同样的问题,所以我将其发布在这里。


默认情况下,JAX-WS 服务器(至少对于 WebLogic)不会验证接收到的消息及其关联模式。

这会导致很多问题,因为任何无效值(错误的 xsd:dateTime 格式、数字字段上的字母等)都将导致Java 对象中的值,包括必填字段。

我需要做的是应该由服务器提供的简单验证。

import com.sun.xml.internal.ws.developer.SchemaValidation;

@Stateless
@WebService(portName="ValidatedService")
@SchemaValidation
public class ValidatedService {

    public void operation(@WebParam(name="request") ValidatedRequest request) {

        /* do stuff */
    }
}
Run Code Online (Sandbox Code Playgroud)

出于某种原因,当我尝试使用提供的架构验证时,出现以下异常:

Caused By: javax.xml.ws.WebServiceException: Annotation @com.sun.xml.internal.ws.developer.SchemaValidation(handler=class com.sun.xml.internal.ws.server.DraconianValidationErrorHandler) is not recognizable, atleast one constructor of class com.sun.xml.internal.ws.developer.SchemaValidationFeature should be marked with @FeatureConstructor
Run Code Online (Sandbox Code Playgroud)

我不希望实现任何自定义验证器。服务器应该通过简单直接的配置来提供这种类型的服务。

java web-services weblogic jax-ws

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

Java JMS 客户端 - 绑定到特定的本地端口

我有一个简单的 JMS 客户端 java 代码,它连接到 weblogic 应用程序服务器并将消息发送到定义的 jms 队列。

对于 JMS 客户端与服务器建立的每个连接,在具有 JMS 队列的 Weblogic 应用程序服务器和运行 JMS 客户端代码的机器之间建立一个底层 TCP 连接。

根据我有限的知识,我认为连接中的本地端口是随机选择的。如果这是错误的,请纠正我。

在我们的生产服务器中,由于一些严格的客户政策,我们被要求将本地端口限制为固定端口范围,而不是任何随机端口。是否可以通过在 JMS 客户端代码中指定任何连接工厂属性来做同样的事情。

E.g. 
192.19.81.223 -> m/c where Weblogic is installed
7001 -> Weblogic Server admin port, where the JMS Server is targeted
192.19.105.54 -> m/c where the JMS Client code is running
61372 -> Random port being selected in the m/c where JMS Client is run.

$home > netstat -an|grep 7001
tcp        0      0 ::ffff:192.19.81.223:7001   :::*                             LISTEN
tcp …
Run Code Online (Sandbox Code Playgroud)

java weblogic jms

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

weblogic.jdbc.common.internal.RmiDataSource_12212_WLStub 无法转换为 javax.sql.DataSource

我的应用程序正在尝试通过 Weblogic(12) 服务器上的 JNDI 访问数据源。抛出以下异常

weblogic.jdbc.common.internal.RmiDataSource_12212_WLStub 无法转换为 javax.sql.DataSource

这个类 weblogic.jdbc.common.internal.RmiDataSource_12212_WLStub 在哪里出现。

weblogic jndi datasource

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

用 Tomcat 替代 Weblogic?

我正在研究用 Apache Tomcat 替换开发机器上的 Weblogic 10.x,如果任何人有任何见解或建议,我将不胜感激。

任何尝试在生产 Web 应用服务器怪物上进行开发工作的人可能都知道更换的原因 - 以提高开发效率。该应用程序很大(数百万行代码),遗留代码库包含大量技术(Struts、EJB 2、EJB 3 等),并且代码库的更改经常需要重新部署/重新启动 Web 服务器(甚至使用 JRebel) - 这需要很长时间(大约 5-10 分钟)。这显然会浪费时间、带来挫败感并导致错误。

我想知道的是 - 考虑这种替代是否可行?代码库稍后将在开发管道中针对真正的 WL 实例进行验证,但对于开发机器,我希望它尽可能精简。这显然不会是一个微不足道的转变,但我讨厌花一周的时间去做一些完全不可能的事情,或者至少是绝对不可取的事情。

很明显,我需要一些实现 JavaEE 规范的东西(不需要正式验证 - 只要它能工作:)),所以我研究了各种可能性,对我来说,Apache TomEE 看起来很有前途。Geronimo 已经死了很久了,Glassfish 似乎陷入了困境(?),而 Jonas 则默默无闻。在 Java 8 下工作将是一个很大的优势(TomEE 1.7 似乎支持)。

最后,我们不使用 XA 事务(两阶段提交),因此至少不需要支持它。

这是一个合理的做法吗?我缺少其他选择吗?有没有转型的经验?欢迎任何想法。

java tomcat weblogic weblogic-10.x apache-tomee

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

如何编写可以支持 Tomcat 或 WebLogic 实现的 Java WebSocket Servlet

我正在为一个基于 Java 的大型 web 应用程序设计一个新的聊天模块,该应用程序默认使用 Tomcat,但支持我们的一个客户端的 WebLogic。我一直在研究为此目的使用 WebSocket,但我发现 WebSocket servlet 似乎没有通用接口,例如javax.servlet.http.HttpServlet.

因此,考虑到我可能需要为我希望使用的每个 servlet 容器定义不同的 servlet 实现,我该如何处理我 100% 不知道我在哪个容器中的情况?

java tomcat weblogic websocket

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

javax.naming.NameNotFoundException:尝试查找“abc”时未找到子上下文“abc”

我开发了一个带有远程接口的 EJB 应用程序。此应用程序部署在 weblogic 12 上。

对于 Java 应用程序,我正在尝试使用我的 EJB 应用程序,但是当我从类 InitialContext 调用方法查找时,我收到此消息“javax.naming.NameNotFoundException:尝试查找 'NewSessionBean.remote' 时没有找到子上下文'新会话豆'

这是来自远程接口的代码:

package co.com.tutorial.stateless;

import java.util.List;
import javax.ejb.Remote;

/**
 *
 * @author jquintep
 */
@Remote
public interface NewSessionBeanRemote {

    void addBook(String bookName);

    List getBooks();
}
Run Code Online (Sandbox Code Playgroud)

这是实现代码的一部分:

package co.com.tutorial.stateless;

import java.util.ArrayList;
import java.util.List;
import javax.ejb.Stateless;

/**
 *
 * @author jquintep
 */
@Stateless
public class NewSessionBean implements NewSessionBeanRemote {

    List<String> bookShelf;

    public NewSessionBean() {
        bookShelf = new ArrayList<String>();
    }
Run Code Online (Sandbox Code Playgroud)

这是我调用查找时代码的一部分:

 try {
         int choice = 1; 
         NewSessionBeanRemote  libraryBean …
Run Code Online (Sandbox Code Playgroud)

ejb weblogic jakarta-ee

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

无法登录到 weblogic 控制台

我是 weblogic 新手,试图尽快放弃它,但现在不可能,所以我必须解决这个问题。也许以下是完全正常和微不足道的。我不知道。请指教。

我在 2 台 PC 上运行 weblogic 12.1.3 几个月了。但突然间,我无法登录到他们两个的管理控制台。我从密码存储输入用户名/密码,但它不被接受。同时,intellij idea 成功登录并使用相同的 pass 部署应用程序。好吧,很公平,我们重置通行证,使用:

https://oracle-base.com/articles/11g/reset-the-adminserver-password-in-weblogic-11g-and-12c

并在 Intellij 设置中更新密码。好的。Intellij 的想法又来了,我无法登录。日志中没有任何内容,应用程序和服务器日志中都没有。

无论我是否通过来自 bash 的 Intellij 运行配置启动 weblogic,我都无法登录。

好的,让我们尝试重新安装 weblogic。没变。

Weblogic 启动并运行,应用程序部署到它,并且响应迅速。访问控制台 URL 时,它被打印出来,该应用程序正在部署,但我仍然无法访问它。清除缓存/烹饪等什么都没有。没有日志,没有错误响应。没有。

对 url j_security_check、console 和 console/ 上“失败”(?) 登录的响应是 http 状态 302(暂时移动)。不确定它是否可以,好吧说我期望 401/403,但也许 302 是拒绝身份验证的有效 weblogic 响应。我不知道。

任何的想法?

weblogic

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