Weblogic 8.1 - самое простое ухо - непонятные сообщения об ошибках - PullRequest
0 голосов
/ 23 февраля 2012

Мне нужно было запустить простую периодическую задачу на сервере, когда работает только сервер weblogic 8.1, поэтому необходимо выполнить эту задачу на weblogic.

Я начинаю с создания самого простого из возможных ухо,это будет работать один класс.В других проектах я обнаружил вызов класса запуска в файле weblogic-application.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE weblogic-application 
          PUBLIC "-//BEA Systems, Inc.//DTD WebLogic Application 8.1.0//EN" 
          "http://www.bea.com/servers/wls810/dtd/weblogic-application_2_0.dtd">

<weblogic-application>
    <startup>
        <startup-class>myStartupClass</startup-class>   
        <startup-uri>my-ejb.jar</startup-uri>
    </startup>
</weblogic-application>

Как я понял, код Java должен быть в отдельном проекте EJB, поэтому я создалпроект, который содержит только myStartupClass, и добавил его как maven-зависимость типа ejb.Я строю ухо, используя maven-ear-plugin:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-ear-plugin</artifactId>
            <configuration>
                <defaultLibBundleDir>lib</defaultLibBundleDir>
            </configuration>
        </plugin>

Наконец, ухо построено, и я его развертываю, ничего не говоря:

[Deployer:149233]An unexpected error was encountered during the deployment process.

    [Deployer:149033]preparing application finder-ear-1 on myserver
    [Deployer:149033]failed application finder-ear-1 on myserver
    [Deployer:149034]An exception occurred for task [Deployer:149026]Deploy application finder-ear-1 on myserver.: [Deployer:149233]An unexpected error was encountered during the deployment process..

I 'Я проверил логи, чтобы найти некоторые детали, но, к сожалению, они не дают мне никаких намеков на то, что weblogic хочет от меня:

####<2012-02-23 13:41:00 GMT> <Warning> <DRS> <PA-STK-074> <myserver> <ExecuteThread: '3' for queue: 'weblogic.kernel.System'> <<WLS Kernel>> <> <BEA-002506> <The current version 2 for DataIdentifier DataIdentifierID: 1 does not match with incoming version 6 for a one-phase update.> 
####<2012-02-23 13:41:00 GMT> <Warning> <Deployer> <PA-STK-074> <myserver> <ExecuteThread: '3' for queue: 'weblogic.kernel.System'> <<WLS Kernel>> <> <BEA-149004> <Failures were detected while initiating Deploy task for application finder-ear-1.> 
####<2012-02-23 13:41:00 GMT> <Error> <Deployer> <PA-STK-074> <myserver> <ExecuteThread: '3' for queue: 'weblogic.kernel.System'> <<WLS Kernel>> <> <BEA-149201> <Failed to complete the deployment task with ID 4 for the application finder-ear-1.
java.lang.Throwable: 
    at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare()V(SlaveDeployer.java:2413)
    at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(Lweblogic/management/deploy/OamVersion;Lweblogic/management/runtime/DeploymentTaskRuntimeMBean;Z)V(SlaveDeployer.java:883)
    at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(Lweblogic/management/deploy/OamDelta;Lweblogic/management/deploy/OamVersion;ZLjava/lang/StringBuffer;)Z(SlaveDeployer.java:591)
    at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(Ljava/util/ArrayList;Z)V(SlaveDeployer.java:500)
    at weblogic.drs.internal.SlaveCallbackHandler$1.execute(Lweblogic/kernel/ExecuteThread;)V(SlaveCallbackHandler.java:25)
    at weblogic.kernel.ExecuteThread.execute(Lweblogic/kernel/ExecuteRequest;)V(ExecuteThread.java:224)
    at weblogic.kernel.ExecuteThread.run()V(ExecuteThread.java:183)
    at java.lang.Thread.startThreadFromVM(Ljava/lang/Thread;)V(Unknown Source)
> 

Не могли бы вы дать мне подсказку, что я делаю неправильно и с чего начать?Я пытался найти учебник для случая, похожего на мой (без веб-приложения, без удаленных EJB-сервисов, только простая периодическая задача, сборка с maven), но я не смог найти ничего подходящего ... Любые советы будут оценены.

1 Ответ

1 голос
/ 23 февраля 2012

Я думаю, что поскольку цель запускаемого класса заключается в том, чтобы выполнить до того, как определенное EAR будет развернуто, у вас должен быть класс OUTSIDE the EAR file.Итак, что вы можете попробовать, так это оставить все это в файле weblogic-application.xml, но упаковать свой класс запуска в стандартный jar-файл, который вы развертываете в каталоге путей к классам Weblogic (% WL_HOME% \ server \ lib)

...