当前位置: 首页 > 知识库问答 >
问题:

部署后Weblogic异常:java。rmi。意外异常

红明德
2023-03-14

刚刚遇到了以下文章中描述的类似问题:

问题:具有类似错误描述的文章

java.rmi.UnmarshalException: cannot unmarshaling return; nested exception is: 
java.rmi.UnexpectedException: Failed to parse descriptor file; nested exception is: 
java.rmi.server.ExportException: Failed to export class

我发现,所描述的问题与任何Java更新都完全无关,而是WebLogicBean缓存的问题。在更新部署时,它似乎使用了类的旧编译版本。我在一个相关问题(问题:接口实现不匹配)中找到了一个类似的问题。

我如何正确地解决这个问题以允许正确的自动部署(使用WLST)?

共有1个答案

冷正青
2023-03-14

经过Oracle社区的一些反馈,它现在的工作方式如下:

1) 关闭远程托管服务器

2) 删除目录“domains/#MyDomain#/servers/#MyManagedServer#/cache/EJBCompilerCache”

3) 重新部署EAR/应用程序

在WLST中(需要自动执行此操作),这相当棘手:

      import shutil

      servers=cmo.getServers()
      domainPath = get('RootDirectory')
      for thisServer in servers:
        pathToManagedServer = domainPath + "\\servers\\" + thisServer.getName()
        print ">Found managed server:" + pathToManagedServer
        pathToCacheDir = pathToManagedServer + "\\" + "cache\\EJBCompilerCache"
        if(os.path.exists(pathToCacheDir) and os.path.isdir(pathToCacheDir) ):
          print ">Found a cache directory that will be deleted:" + pathToCacheDir
          # shutil.rmtree(pathToCacheDir)

注意:测试时要小心,“path ToCacheDir”返回的路径取决于当前设置的MBean上下文。请参阅WLST命令“cd()”的示例。您应该首先使用“print domainPath”测试路径输出,然后添加“rmtree”python命令!(我在示例中取消了删除命令的注释,这样就不会意外删除整个域!)

 类似资料:
  • 我决定写RMI(从书中)也从书中获取代码。我用rmic创建了存根,并启动了rmiregistry,但当我决定编写java启动服务器时,我遇到了一个问题,实际上我面临的问题是:java-classpath D:\RMI AddServer Exception:java。马绍尔群岛共和国。ServerException:服务器线程中发生RemoteException;唯一的例外是:java。马绍尔群岛

  • 这是我第一次使用RMI,基本上我设法在我的PC本地运行下面的RMI示例,但不是通过两个独立的Linux机器。 服务器界面: 服务器: 客户: 客户端接口与服务器接口相同 这是我为了运行rmi示例所做的: 1) 在服务器端,我创建了存根 2) 跑马场 3)运行服务器 4)我将存根从服务器端复制到客户端到同一个包中 5) 运行客户端 运行客户端后,我收到以下错误消息: 线程“main”java中出现异

  • 问题内容: 我不明白为什么这几行 导致异常并打印 …而“不可解析的”时间与我传递给SimpleDateFormat()的格式字符串兼容。 问题答案: 这是一个区域设置问题。用:

  • 在我的应用程序的web.xml中,我有这样的配置: 有人能帮我吗?

  • 我在windows 7 32位操作系统上使用visual studio 2010 C#和IEDRiverServer.exe Webdriver Version2.42。 简而言之,我找到一个元素并单击它,操作完成得很好(单击该元素并导致弹出窗口(不是新窗口)关闭),但代码似乎等待了一段时间,然后在click()行抛出一个错误(WebDriverException)。 它几乎就像它没有意识到它成功

  • 函数 unexpected 调用 set_unexpected 函数指定的函数。如果没有用 set_unexpected 函数指定函数,则默认调用 terminate。 函数 terminate 可以显式调用,在无法捕获抛出的异常时、在异常处理期间打乱堆栈时、作为调用unexpected的默认操作时或在异常导致堆栈解退时析构函数抛出异常的情况下都会调用 terminate。 函数set_termi