Arquivo Histórico de Thiago Vespa
Este site foi preservado para fins históricos e de referência. Alguns conteúdos podem estar desatualizados e recursos interativos foram desativados. Visite o site atual.
WebLogic – Thiago Galbiatti Vespa https://thiagovespa.com.br/blog Precisando é só avisar! Mon, 27 Oct 2025 01:33:35 +0000 pt-BR hourly 1 https://wordpress.org/?v=6.8.5 https://thiagovespa.com.br/blog/wp-content/uploads/2023/05/cropped-eu3-32x32.png WebLogic – Thiago Galbiatti Vespa https://thiagovespa.com.br/blog 32 32 Habilitar System.out e System.err no log do WebLogic https://thiagovespa.com.br/blog/2019/05/20/habilitar-system-out-e-system-err-no-log-do-weblogic/ https://thiagovespa.com.br/blog/2019/05/20/habilitar-system-out-e-system-err-no-log-do-weblogic/#respond Mon, 20 May 2019 18:41:22 +0000 http://thiagovespa.com.br/blog/?p=4415 Continue lendo Habilitar System.out e System.err no log do WebLogic→]]> Embora seja uma má prática utilizar o System.out e System.err para depuração e habilitá-lo no log. Em alguns casos, é preciso. Não entrarei nos méritos quando isso é necessário, mas se você está acessando essa página, já deve saber.

Para habilitar, acesse o WebLogic console. Vá em Environment, Server e escolha o server no qual você deseja habilitar o System.out e System.err no log. Acesse a aba Logging, General e Advanced.

Selecione os dois combos onde diz para redirecionar o stdout e stderr para o log.

Pronto! Só não faça isso em ambiente de produção.

]]>
https://thiagovespa.com.br/blog/2019/05/20/habilitar-system-out-e-system-err-no-log-do-weblogic/feed/ 0
Problema ao iniciar WebLogic https://thiagovespa.com.br/blog/2015/06/29/problema-ao-iniciar-weblogic/ https://thiagovespa.com.br/blog/2015/06/29/problema-ao-iniciar-weblogic/#comments Mon, 29 Jun 2015 22:27:54 +0000 http://www.thiagovespa.com.br/blog/?p=2145 Continue lendo Problema ao iniciar WebLogic→]]> Caso você tenha o seguinte problema ao inicializar o WebLogic:

oracle.core.ojdl.logging.LoggingConfigurationException: ODL-52049: cannot create instance of class ‘oracle.dfw.incident.IncidentDetectionLogFilter’: java.lang.ExceptionInInitializerError

….

WARNING: unable to register log dump; exception: java.lang.reflect.InvocationTargetException
java.lang.reflect.InvocationTargetException
…

<Critical> <WebLogicServer> <BEA-000286> <Failed to invoke startup class “DMS-Startup”, java.lang.NoClassDefFoundError: oracle/dfw/impl/common/TempFileManager
java.lang.NoClassDefFoundError: oracle/dfw/impl/common/TempFileManager

Isso ocorre, pois há algum problema ao gravar na pasta temporária que por padrão é /var/tmp. Você pode alterar o padrão com o parâmetro “-Djava.io.tmpdir” ou limpe o /var/tmp com o comando rm -rf /var/tmp/*

Garanta que o diretório /var/tmp tenha permissão de leitura e escrita para o seu usuário.

Inicie o WebLogic novamente.

]]>
https://thiagovespa.com.br/blog/2015/06/29/problema-ao-iniciar-weblogic/feed/ 2
Extrair arquivos estáticos https://thiagovespa.com.br/blog/2014/07/18/extrair-arquivos-estaticos/ https://thiagovespa.com.br/blog/2014/07/18/extrair-arquivos-estaticos/#comments Fri, 18 Jul 2014 16:24:46 +0000 http://www.thiagovespa.com.br/blog/?p=4098 Continue lendo Extrair arquivos estáticos→]]> Para melhor o desempenho de aplicações é interessante colocarmos um servidor de conteúdo estático, como o Apache, para trabalhar com os conteúdos que não precisam ser dinâmicos, como imagens, folhas de estilos, javascripts e afins.

No Java normalmente esse conteúdo, quando empacotado fica dentro de arquivo WAR interno a um arquivo EAR. Para extrair esse conteúdo estático e disponibilizá-lo no apache, criei um pequeno script que automatiza essa tarefa:

[sourcecode language=”bash”]unzip <NOMEDOPACOTE>.ear -d tmp/ > /dev/null && unzip tmp/*.war `unzip -l tmp/*.war | grep  ‘.js$\|.jpg$\|.jpeg$\|.png$\|.gif$\|.htm$\|.html$\|.css$’ | awk ‘{print $4}’` -d static && rm -rf tmp[/sourcecode]

Se você utiliza somente o WAR sem o EAR, basta utilizar o seguinte script:

[sourcecode language=”bash”]unzip <NOMEDOPACOTE>.war `unzip -l tmp/*.war | grep  ‘.js$\|.jpg$\|.jpeg$\|.png$\|.gif$\|.htm$\|.html$\|.css$’ | awk ‘{print $4}’` -d static[/sourcecode]

Esse script irá criar uma pasta static com todo o conteúdo a ser mapeado no Apache. Com isso, o seu servidor de aplicações ficará mais leve, com menos requisições e o trabalho de disponibilizar os conteúdos estáticos fica a cargo do Apache, que realiza essa atividade com muita eficiência.

]]>
https://thiagovespa.com.br/blog/2014/07/18/extrair-arquivos-estaticos/feed/ 3
Bug de atributos duplicados no WebCenter Sites https://thiagovespa.com.br/blog/2013/11/25/bug-de-atributos-duplicados-no-webcenter-sites/ https://thiagovespa.com.br/blog/2013/11/25/bug-de-atributos-duplicados-no-webcenter-sites/#comments Mon, 25 Nov 2013 12:06:02 +0000 http://www.thiagovespa.com.br/blog/?p=4031 Continue lendo Bug de atributos duplicados no WebCenter Sites→]]> Esse bug foi verificado na versão 11.1.1.6 do WebCenter Sites. Ao tentar publicar os assets de um site para outro. Obtivemos a seguinte info no site de origem:

[INFO ] [.kernel.Default (self-tuning)’] [logging.cs.xcelerate.publish] FAILED RealTime publish session 1384983575134
[INFO ] [.kernel.Default (self-tuning)’] [fatwire.logging.cs.xml] Publish failed for approved assets (error number: -508).

E o seguinte erro no site de destino:

[ERROR] [pool-66-thread-2] [cs.core.db.DBTransaction] TransactionUnit failed to execute
com.fatwire.cs.core.db.TransactionAbortException: com.fatwire.cs.core.realtime.DataException: Asset save failed for Page:1384260565491,1384260565484,1384260565442,1384260565465,1384260565472,1384260565449,1384260565434,1384260565451,1384260565436,1384260565457,1384260565503,1384260565459, Error saving an asset Asset.SaveAll : Attempting to set more than one value for a single-valued attribute ‘PageAttribute:Content’com.openmarket.basic.interfaces.AssetException: Attempting to set more than one value for a single-valued attribute ‘PageAttribute:Content’

O estranho é que por algum motivo o atributo content da página ficou duplicado (creio que seja por forçar a publicação de conteúdo por servidores diferentes, mas não tenho certeza). Para verificar, ao acessar o conteúdo, aparecem dois ou mais campos de texto para o atributo Content.

A solução é simples. mas trabalhosa: acessar conteúdo por conteúdo, realizar uma alteração no campo duplicado e salvar. Ele remove automaticamente o atributo duplicado. O mesmo já ocorreu para outros atributos da página.

]]>
https://thiagovespa.com.br/blog/2013/11/25/bug-de-atributos-duplicados-no-webcenter-sites/feed/ 1
Instalação WebCenter Sites no WebLogic https://thiagovespa.com.br/blog/2013/11/21/instalacao-webcenter-sites-no-weblogic/ https://thiagovespa.com.br/blog/2013/11/21/instalacao-webcenter-sites-no-weblogic/#comments Thu, 21 Nov 2013 02:27:02 +0000 http://www.thiagovespa.com.br/blog/?p=4016 Continue lendo Instalação WebCenter Sites no WebLogic→]]> Para instalar o WebCenter Sites, com as configurações que eu recomendo (Linux, Base Oracle, WebLogic e Apache), siga os seguintes passos (caso tenha alguma dúvida, envie nos comentários):
  • Crie um banco de dados ou utilize um existente
  • Crie um usuário para o WebCenter Sites com os seguintes privilégios de sistema:
    • CREATE SESSION
    • CREATE TABLE
    • CREATE VIEW
    • UNLIMITED TABLESPACE
  • Instale o WebLogic Server (instalação padrão)
  • Crie um novo domínio (criação padrão)
    • Na tela “Select Optional Configuration”, selecione todas os checkboxes. Clique em Next
    • Altere o nome do servidor e a porta, para o desejável e clique em Nexto.
    • Para ambiente de produção, adicione pelo menos um managed server e clique em Next.
    • Se você não está criando um cluster, clique em Next, caso contrário configure.
    • Crie uma machine e clique em Next.
    • Associe os servidores à machine criada e clique em Next.
    • Siga a instalação até o fim.
  • Inicie o Admin Server
  • Em ambientes que não são de produção é interessante desabilitar a verificação de hostname
  • Para execução de operações via linha de comando, habilite o tunneling.
  • Reinicie o WebLogic
  • Edite o arquivo <DOMAIN>/bin/setDomainEnv.sh e aumente o Max PermGen para no mínimo 192MB se sua JVM não for o JRockit.
  • Edite o arquivo <DOMAIN>/bin/startWebLogic e adicione as seguintes variáveis (altere o conteúdo que está entre: < >, não se preocupe se você ainda não tem o caminho da instalação do cs e da aplicação do cs, isso poderá ser alterado posteriormente e não afeta a iniciliazação do WebLogic):

[sourcecode language=”bash”]JAVA_OPTIONS="-Djava.io.tmpdir= -Dfile.encoding=UTF-8 -Dnet.sf.ehcache.enableShutdownHook=true -Djava.net.preferIPv4Stack=true -Djava.library.path=<INSTALAÇÃO DO CS>/bin ${JAVA_OPTIONS}"

CLASSPATH="<INSTALAÇÃO DO CS>/bin:$CLASSPATH"

PRE_CLASSPATH="<APLICAÇÃO CS>/WEB-INF/lib/commons-lang-2.4.jar:$PRE_CLASSPATH"
[/sourcecode]

  • No console do WebLogic, adicione um novo datasource não XA (driver Thin) para o usuário configurado anteriormente.
  • Altere o pool
    • Selecione o datasource criado
    • Clique em Configuration, Connection Pool
    • Mude o Initial Capacity para 10 e o Maximum Capacity para 100 e clique em Save
  • Instale o Apache (opcional, mas recomendado para servir os conteúdos estáticos)
  • Verifique se o Apache tem o módulo correto: httpd -l | grep ‘mod_so’ (deve retorar mod_so.c, caso contrário, instale corretamente o apache habilitando o mod_so – –enable-module=so)
  • Copie o arquivo <WL_HOME>/wlserver_10.3/server/plugin/<SO>/<VERSAO>/mod_wl_22.so para a pasta <APACHE_HOME>/modules
  • Crie um arquivo wcs.conf dentro da pasta conf.d ou edite o arquivo httpd.conf e insira o seguinte (altere para os sua configuração se for cluster e edite o conteúdo entre < >):

[sourcecode]
LoadModule weblogic_module modules/mod_wl_22.so
<IfModule mod_weblogic.c>
WebLogicHost <IP>
WebLogicPort <PORTA>
</IfModule>
<Location /cs>
SetHandler weblogic-handler
</Location>
<Location /cas>
SetHandler weblogic-handler
</Location>
[/sourcecode]

  • Reinicie o apache
  • Faça o download do WebCenter Sites e descompacte-o
  • Execute o instalador csInstall.sh e clique em Next e Next
  • Especifique o caminho de instalação do sites e atualize o startWebLogic.sh (passo realizado antes) com esse caminho e clique em Next
  • Selecione Development ou Delivery. A diferença aqui é que o Delivery system não tem a opção de Contributor, é mais segura e evita que usuários alterem o conteúdo. Ou seja, é para ambiente de produção. Enquanto que o Development or Content Management system é utilizado para editar os assets e prepara o conteúdo para um Delivery system. Clique em Next.
  • Continue seguindo as telas e configurando de acordo com o seu ambiente até chegar na tela Installation Actions, logo após clicar no botão Install.
  • Inicie o Weblogic e o Managed Server.
  • Faça deploy do cs e cas que estão na pasta de deploy manual especificado na instalação com o target no managed.
  • Verifique esses arquivos: cas-cache.xml , cs-
    cache.xml , ss-cache.xml e linked-cache.xml que estão dentro da pasta <app cs>/WEB-INF/classes e esse arquivo: jbossTicketCacheReplicationConfig.xml dentro da pasta <instalação do cs>/bin e garanta que tenham endereços e portas sem conflito com outras e se for cluster, garanta que os clusters tenham os mesmos valores.
  • Clique em Test na tela da instalação.
  • Finalize a instalação.

]]>
https://thiagovespa.com.br/blog/2013/11/21/instalacao-webcenter-sites-no-weblogic/feed/ 2
Alterar a porta do Node Manager https://thiagovespa.com.br/blog/2013/11/20/alterar-a-porta-do-node-manager/ https://thiagovespa.com.br/blog/2013/11/20/alterar-a-porta-do-node-manager/#comments Wed, 20 Nov 2013 20:55:16 +0000 http://www.thiagovespa.com.br/blog/?p=4027 Para alterar a porta do Node Manager do WebLogic Server, acesse o arquivo: <WL_HOME>/wlserver_10.3/common/nodemanager/nodemanager.properties e mude o valor da variável ListenPort ]]> https://thiagovespa.com.br/blog/2013/11/20/alterar-a-porta-do-node-manager/feed/ 2 Habilitando Tunneling no WebLogic https://thiagovespa.com.br/blog/2013/11/20/habilitando-tunneling-no-weblogic/ https://thiagovespa.com.br/blog/2013/11/20/habilitando-tunneling-no-weblogic/#comments Wed, 20 Nov 2013 18:45:58 +0000 http://www.thiagovespa.com.br/blog/?p=4019 Continue lendo Habilitando Tunneling no WebLogic→]]> Para executar alguns comandos no WebLogic utilizando o weblogic.Deployer ou weblogic.Admin é necessário habilitar o tunneling. Para realizar essa atividade, realize os seguintes procedimentos:
  • Acesse o console e expanda Enviroment
  • Clique em Server e para cada server (incluindo o admin) realize os seguintes procedimentos:
    • Selecione o servidor
    • Clique em Protocols, General
    • Marque o checkbox Enable Tunneling e clique em Save.

]]>
https://thiagovespa.com.br/blog/2013/11/20/habilitando-tunneling-no-weblogic/feed/ 2
Criando Jar Cliente para o WebLogic https://thiagovespa.com.br/blog/2013/08/04/criando-jar-cliente-para-o-weblogic/ https://thiagovespa.com.br/blog/2013/08/04/criando-jar-cliente-para-o-weblogic/#comments Sun, 04 Aug 2013 13:50:36 +0000 http://www.thiagovespa.com.br/blog/?p=3994 Continue lendo Criando Jar Cliente para o WebLogic→]]> Para algumas aplicações clientes que você deseja utilizar o WebLogic como server é comum utilizar o arquivo weblogic.jar em seu projeto. O problema é que esse arquivo tem algumas restrições de licença, que inviabiliza a sua distribuição. Entretanto, existe um utilitário que cria bibliotecas clientes onde é possível distruibuir sua aplicação com o Jar gerado. Esse utilitário se encontra na instalação do WebLogic Server e é de fácil utilização.

Para criar o seu jar cliente, acesse  o diretório server/bin de onde está instalado o seu WebLogic Server e execute o seguinte comando:

[sourcecode language=”bash”]. ./setWLSEnv.sh[/sourcecode]

Observe que no comando existe um “ponto” sozinho. Esse comando que irá atualizar as suas variáveis de ambiente.

O próximo passo é executar o utilitário para criação do Jar. No diretório server/lib do WebLogic, digite o seguinte comando:

[sourcecode language=”bash”]java -jar wljarbuilder.jar -profile wlfullclient[/sourcecode]

Agora é só aguardar a geração do jar e ele estará disponível na mesma pasta com o nome: wlfullclient.jar.

]]>
https://thiagovespa.com.br/blog/2013/08/04/criando-jar-cliente-para-o-weblogic/feed/ 2
Erro ao subir o WebCenter no Admin https://thiagovespa.com.br/blog/2013/07/05/erro-ao-subir-o-webcenter-no-admin/ https://thiagovespa.com.br/blog/2013/07/05/erro-ao-subir-o-webcenter-no-admin/#respond Fri, 05 Jul 2013 17:15:49 +0000 http://www.thiagovespa.com.br/blog/?p=3985 Continue lendo Erro ao subir o WebCenter no Admin→]]> Ao criar um domínio com WebCenter, se ao invés de utilizar às configurações padrões, resolver instalá-lo sem o managed server para economizar memória, você poderá ter o seguinte erro:

[sourcecode]
<Jul 5, 2013 2:01:47 PM BRT> <Error> <HTTP Session> <BEA-100081> <Persistent store settings cannot be changed between versions. The persistent store settings for application webcenter [Version=11.1.1.4.0] is different from the settings for previous version(s).>
<Jul 5, 2013 2:01:47 PM BRT> <Error> <Deployer> <BEA-149205> <Failed to initialize the application ‘webcenter [Version=11.1.1.4.0]’ due to error weblogic.application.ModuleException: Failed to load webapp: ‘/’.
weblogic.application.ModuleException: Failed to load webapp: ‘/’
at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:393)
at weblogic.application.internal.flow.ScopedModuleDriver.prepare(ScopedModuleDriver.java:176)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:517)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
Truncated. see log file for complete stacktrace
Caused By: weblogic.management.DeploymentException: [HTTP Session:100081]Persistent store settings cannot be changed between versions. The persistent store settings for application webcenter [Version=11.1.1.4.0] is different from the settings for previous version(s).
at weblogic.servlet.internal.session.SessionContext.getInstance(SessionContext.java:167)
at weblogic.servlet.internal.WebAppServletContext.initSessionContext(WebAppServletContext.java:1236)
at weblogic.servlet.internal.WebAppServletContext.<init>(WebAppServletContext.java:452)
at weblogic.servlet.internal.WebAppServletContext.<init>(WebAppServletContext.java:493)
at weblogic.servlet.internal.HttpServer.loadWebApp(HttpServer.java:418)
Truncated. see log file for complete stacktrace
>
[/sourcecode]

É porque o WebCenter entra em conflito com a aplicação de boas vindas. Para corrigir esse problema, é só realizar o undeploy da aplicação “FMW Welcome Page Application”. Depois realize o redeploy da aplicação webcenter ou reinicie o servidor. Era um problema que já tive antes, mas tinha esquecido de repassar o conhecimento.

]]>
https://thiagovespa.com.br/blog/2013/07/05/erro-ao-subir-o-webcenter-no-admin/feed/ 0
Preferências no SOA Suite https://thiagovespa.com.br/blog/2013/02/06/preferencias-no-soa-suite/ https://thiagovespa.com.br/blog/2013/02/06/preferencias-no-soa-suite/#respond Wed, 06 Feb 2013 16:29:43 +0000 http://www.thiagovespa.com.br/blog/?p=3884 Continue lendo Preferências no SOA Suite→]]> Em algumas situações, no BPEL com SOA Suite, precisamos recuperar/alterar dados em tempo de execução sem ser necessário refazer e re-implantar a aplicação. Para resolver esse problema, o recurso de preferências vem bem a calhar. No JDeveloper, para o Oracle SOA Suite 11g, abra o composite.xml do seu projeto, selecione o componente BPEL e na janela de propriedades (Property Inspector – Ctrl+Shift+I) adicione uma propriedade nova com o nome bpel.preference.<Nome da propriedade>:

Property Inspector
Property Inspector

O código do composite.xml deve ter uma parte parecida com essa:

[sourcecode language=”xml”] <component name="PrefsBPELProcess" version="2.0">
<implementation.bpel src="PrefsBPELProcess.bpel"/>
<property name="bpel.config.transaction" type="xs:string" many="false">required</property>
<property name="bpel.preference.nome" type="xs:string" many="false"
override="may">Sem Nome</property>
</component>[/sourcecode]

]]>
https://thiagovespa.com.br/blog/2013/02/06/preferencias-no-soa-suite/feed/ 0