<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>marcuscavalcanti.net &#187; Weblogic</title>
	<atom:link href="http://www.marcuscavalcanti.net/blog/tag/weblogic/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.marcuscavalcanti.net/blog</link>
	<description>Software, tecnologia e etc.</description>
	<lastBuildDate>Wed, 21 Jul 2010 03:52:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Entendendo como funciona a arquitetura do Weblogic Server em ambientes clusterizados</title>
		<link>http://www.marcuscavalcanti.net/blog/2009/11/24/entendendo-como-funciona-a-arquitetura-do-weblogic-server-em-ambientes-clusterizados/</link>
		<comments>http://www.marcuscavalcanti.net/blog/2009/11/24/entendendo-como-funciona-a-arquitetura-do-weblogic-server-em-ambientes-clusterizados/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 16:50:07 +0000</pubDate>
		<dc:creator>Marcus Cavalcanti</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Cluster]]></category>
		<category><![CDATA[Clustering]]></category>
		<category><![CDATA[Managed Server]]></category>
		<category><![CDATA[Node Manager]]></category>
		<category><![CDATA[Weblogic]]></category>
		<category><![CDATA[Weblogic Domain]]></category>
		<category><![CDATA[Weblogic Server]]></category>

		<guid isPermaLink="false">http://www.marcuscavalcanti.net/blog/?p=1231</guid>
		<description><![CDATA[Antes de mais nada, gostaria de ressaltar que esse post não tem o intuito de ensinar ou mostrar o passo-a-passo para a criação de um ambiente clusterizado com o Weblogic Server, na verdade o intuito é mostrar como é e como funciona essa arquitetura, usando um exemplo prático criado para esse propósito específico. Para criação [...]]]></description>
			<content:encoded><![CDATA[<p>Antes de mais nada, gostaria de ressaltar que esse post não tem o intuito de ensinar ou mostrar o passo-a-passo para a criação de um ambiente clusterizado com o <a href="http://pt.wikipedia.org/wiki/BEA_Weblogic_Server" target="_blank" style="text-decoration: underline">Weblogic Server</a>, na verdade o intuito é mostrar como é e como funciona essa arquitetura, usando um exemplo prático criado para esse propósito específico. Para criação e configuração de um ambiente clusterizado, indico a <a href="http://www.oracle.com/technology/documentation/bea.html" target="_blank" style="text-decoration: underline">documentação da Oracle/BEA</a>, na qual estarei citando os links ao final do post.</p>
<h3>Domínio</h3>
<p>Quando trabalhamos em um ambiente de desenvolvimento, basicamente o que temos que nos preocupar é referente a criação de um domínio. Um domínio nada mais é que um conjunto de recursos e serviços que fisicamente são mantidos através de arquivos.</p>
<p>A parte principal de um domínio chama-se Administration Server, que é uma instância de um Weblogic Server responsável por manter e configurar seus recursos. Todo esse gerenciamento do Adminstration Server é feito através do Admin Console, que por sua vez é uma aplicação que é deployada no seu Administration Server e que será responsável por fornecer uma interface gráfica para que você possa gerenciar seu domínio, ou seja, toda a configuração feita pelo Admin Console é baseada em XML e é ele quem gerencia esses arquivos.</p>
<p>É através do Administration Server que você faz o <em>deploy/undeploy</em> das suas aplicações, porém em um ambiente de produção, ou até mesmo de homologação, o mais indicado é que tenhamos nossas aplicações em um servidor a parte, que são chamados de Managed Servers.</p>
<h3>Managed Servers</h3>
<p>Uma instância de um Weblogic Server, que não é uma instância do Administration Server, é chamada de Managed Server, é no Managed Server onde suas aplicações e recursos serão deployados de fato, deixando para o Administration Server apenas a responsabilidade de gerenciá-los.</p>
<p>São os Managed Servers que hospedam todos os componentes e recursos que constituem uma aplicação, e toda vez que um Managed Server é inicializado, ele se conecta com o Administration Server para obter informações de configuração e <em>deployment</em>.</p>
<h3>Cluster. O quê é e por quê usar?</h3>
<p>Em ambientes de produção é normal que existam certas preocupações que não ocorrem com ambientes de desenvolvimento, como alta disponibilidade das aplicações e balanceamento de carga.</p>
<p>Imagine que ocorra qualquer problema na máquina onde a sua aplicação está deployada? O quê fazer? Para não ficar a mercê desse tipo de problema, o correto é pensar em uma estrutura em que sua aplicação possa ser replicada em N instância de servidores em máquinas diferentes, onde caso uma máquina dê problema, a outra assume e assim sucessivamente.</p>
<p>Outro problema comum é a sobrecarga de uma aplicação. Um cenário normal em aplicações web é o acesso de muitos usuários e consequentemente o processamento a exaustão das máquinas onde essas aplicações estão deployadas, isso por muitas vezes pode ocasionar um estouro de processamento ou até mesmo um tempo de resposta maior para o usuário. E como fazer para resolver esse problema? A resposta é através do balanceamento de carga.</p>
<p>Para resolver esses tipos de problemas foi criada uma estrutura cuja o nome é Cluster. Um Cluster é um conjuto de computadores que trabalham de forma conjunta cujo objetivo é fazer com que todo o processamento da aplicação seja distribuído a N computadores, mas de forma que pareça com que eles sejam um computador só.</p>
<h3>Cluster e Managed Servers</h3>
<p>Um Cluster de Weblogic Server corresponde a múltiplas instância de Weblogic Server que estão trabalhando e ﻿rodando simultaneamente com o objetivo de prover escalabilidade e disponibilidade.</p>
<p>Ou seja, um Cluster é um conjunto de Managed Servers, e cada Managed Server representa um nó de um cluster.</p>
<p>Quando se pensa em uma arquitetura usando Clusters, é normal que se pense em mais de uma máquina, afinal não faz muito sentido ter um Cluster com uma máquina, pois caso essa máquina pare de funcionar, todas as aplicações também irão parar.</p>
<h3>A relação Managed Servers, Machines e Domínio</h3>
<p>Partindo do princípio que um Cluster deve necessariamente ter mais de uma máquina, chegamos ao conceito de &#8220;Machines&#8221; do Weblogic Server.</p>
<p>Uma &#8220;machine&#8221; é exatamente uma máquina, um computador físico, e essa máquina pode ter mais de um managed server, ou seja, pode ter mais de uma instância do Weblogic Server rodando ao mesmo tempo. É óbvio que nesse caso teríamos que ter essas duas instâncias rodando em portas diferentes.</p>
<p>Dessa forma, chegamos a seguinte associação: Domínio -> Administration Server -> Cluster -> Machine -> Managed Server.</p>
<h3>Node Manager</h3>
<p>Quando falamos a nível de máquina (machine), devemos falar também dos Node Managers. Um Node Manager não está associado a um domínio, está associado a uma máquina, já que uma máquina pode ter mais de um Managed Server.</p>
<p>Um Node Manager é uma aplicação standalone responsável por gerenciar Managed Servers em uma máquina (machine) remota. Através do Node Manager é possível inicializar, parar e re-startar instâncias do Administration Server e dos Managed Servers de uma máquina remota.</p>
<h3>Multi-cast Address</h3>
<p>Em um ambiente clusterizado, precisamos ter N computadores trabalhando de forma conjunta de forma que isso seja transparente, mas quando usamos recursos como sessões, ou até mesmo conexões distribuídas, precisamos que isso também seja feito de forma distribuída, sem que seja necessário por exemplo criar uma sessão para cada Managed Server.</p>
<p>Isso é feito através do multi-cast address, que é um IP associado a um cluster, que por sua vez irá informar esse IP para seus Managed Servers para que os mesmos possam usar um único IP para fazer esse tipo de compartilhamento.</p>
<h3>Juntando tudo</h3>
<p>Para dar uma visão mais clara de toda essa arquitetura e quem está associado a o que, resolvi criar um diagrama que mostra todos os elementos citados acima e associação/relação entre eles.</p>
<p>No exemplo usei ainda o <a href="http://httpd.apache.org/" target="_blank" style="text-decoration: underline">Apache</a> como Servidor Web, que será a porta de entrada de tudo, será ele que irá receber as requisições HTTP, fazer o balanceamento de carga e delegar as responsabilidades para os Managed Servers. Será o Apache ainda o responsável por identificar e servir conteúdo estático sem que seja necessário passar pelo Cluster.</p>
<h3>Diagrama</h3>
<div class="wp-caption alignnone" style="width: 160px"><a href="http://img99.imageshack.us/img99/6514/weblogicserverarchitect.jpg" target="_blank"><img alt="clique para ampliar" src="http://img99.imageshack.us/img99/6514/weblogicserverarchitect.th.jpg" title="Weblogic Server Architecture" width="150" height="111" border="0" /></a><p class="wp-caption-text">clique para ampliar</p></div>
<h3>Mais Informações</h3>
<p><strong>Weblogic Server</strong><br />
<a href="http://download.oracle.com/docs/cd/E13222_01/wls/docs92/admin.html" target="_blank" style="text-decoration: underline">http://download.oracle.com/docs/cd/E13222_01/wls/docs92/admin.html</a></p>
<p><strong>Understanding Cluster Configuration </strong><br />
<a href="http://download.oracle.com/docs/cd/E12840_01/wls/docs103/cluster/config.html" target="_blank" style="text-decoration: underline">http://download.oracle.com/docs/cd/E12840_01/wls/docs103/cluster/config.html</a></p>
<p><strong>Understanding Weblogic Server Clustering</strong><br />
<a href="http://download.oracle.com/docs/cd/E13222_01/wls/docs92/cluster/overview.html" target="_blank" style="text-decoration: underline">http://download.oracle.com/docs/cd/E13222_01/wls/docs92/cluster/overview.html</a></p>
<p><strong>Setting Up Weblogic Cluster</strong><br />
<a href="http://download.oracle.com/docs/cd/E12840_01/wls/docs103/cluster/setup.html" target="_blank" style="text-decoration: underline">http://download.oracle.com/docs/cd/E12840_01/wls/docs103/cluster/setup.html</a></p>
<p><strong>Using Node Manager</strong><br />
<a href="http://download.oracle.com/docs/cd/E13222_01/wls/docs92/server_start/nodemgr.html" target="_blank" style="text-decoration: underline">http://download.oracle.com/docs/cd/E13222_01/wls/docs92/server_start/nodemgr.html</a></p>
<p><strong>Node Manager Architecture</strong><br />
<a href="http://download.oracle.com/docs/cd/E13222_01/wls/docs81b/adminguide/nodemgr.html" target="_blank" style="text-decoration: underline">http://download.oracle.com/docs/cd/E13222_01/wls/docs81b/adminguide/nodemgr.html</a></p>
<p><strong>Configure Apache HTTP Server</strong><br />
<a href="http://download.oracle.com/docs/cd/E15051_01/wls/docs103/plugins/apache.html" target="_blank" style="text-decoration: underline">http://download.oracle.com/docs/cd/E15051_01/wls/docs103/plugins/apache.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcuscavalcanti.net/blog/2009/11/24/entendendo-como-funciona-a-arquitetura-do-weblogic-server-em-ambientes-clusterizados/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dica rápida: recuperando um domínio corrompido no Weblogic</title>
		<link>http://www.marcuscavalcanti.net/blog/2009/11/11/dica-rapida-recuperando-um-dominio-corrompido-no-weblogic/</link>
		<comments>http://www.marcuscavalcanti.net/blog/2009/11/11/dica-rapida-recuperando-um-dominio-corrompido-no-weblogic/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 16:54:03 +0000</pubDate>
		<dc:creator>Marcus Cavalcanti</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Abruptly]]></category>
		<category><![CDATA[Corrompido]]></category>
		<category><![CDATA[Domain]]></category>
		<category><![CDATA[Start]]></category>
		<category><![CDATA[Weblogic]]></category>
		<category><![CDATA[Workshop]]></category>

		<guid isPermaLink="false">http://www.marcuscavalcanti.net/blog/?p=1211</guid>
		<description><![CDATA[Essa é uma dica rápida para quem trabalha com aplicações em cima do Weblogic.
Um domínio Weblogic pode ser corrompido por diversos motivos, como: domínio ser encerrado de forma forçada ( com um kill -9, por exemplo), máquina ser desligada de forma repentina, falta de luz, etc. Quando isso acontece, seu domínio que estava rodando pode [...]]]></description>
			<content:encoded><![CDATA[<p>Essa é uma dica rápida para quem trabalha com aplicações em cima do Weblogic.</p>
<p>Um domínio Weblogic pode ser corrompido por diversos motivos, como: domínio ser encerrado de forma forçada ( com um <em>kill -9</em>, por exemplo), máquina ser desligada de forma repentina, falta de luz, etc. Quando isso acontece, seu domínio que estava rodando pode ser corrompido, e com isso a seguinte mensagem é retornada ao tentar iniciá-lo novamente:</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="Text"><div class="devcodeoverflow"><ol><li>Server cannot be started.&nbsp;&nbsp; The server process cannot be started, or terminated abruptly. Check the start script.</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Para resolver isso é muito simples, basta remover todas as pastas <strong>build</strong> pré-existentes (são geradas automaticamente pela seu Workshop, quando a aplicação é compilada) e em seguida basta fazer um <em>start</em> do seu domínio novamente.</p>
<p>Outra dica, é que antes de tentar fazer o <em>deploy</em> das aplicações em cima desse domínio novamente, que antes faça um <em>undeploy</em> (usando o <em>console</em>) das mesmas, pois se o domínio foi encerrado de forma forçada, as aplicações ainda estarão lá deployadas e caso você tente novamente, provavelmente não conseguirá.</p>
<p>Procurei sobre isso nos forums da Oracle e não achei nada, então fica aí a dica, pois isso evita que você tenha que re-criar e configurar seu domínio novamente.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcuscavalcanti.net/blog/2009/11/11/dica-rapida-recuperando-um-dominio-corrompido-no-weblogic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Usando o HermesJMS com JDK 1.6 no Weblogic</title>
		<link>http://www.marcuscavalcanti.net/blog/2009/07/08/usando-o-hermesjms-com-jdk-16-no-weblogic/</link>
		<comments>http://www.marcuscavalcanti.net/blog/2009/07/08/usando-o-hermesjms-com-jdk-16-no-weblogic/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 20:41:05 +0000</pubDate>
		<dc:creator>Marcus Cavalcanti</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Hermes]]></category>
		<category><![CDATA[HermesJMS]]></category>
		<category><![CDATA[JDK]]></category>
		<category><![CDATA[JMS]]></category>
		<category><![CDATA[JVM]]></category>
		<category><![CDATA[Weblogic]]></category>

		<guid isPermaLink="false">http://www.marcuscavalcanti.net/blog/?p=1043</guid>
		<description><![CDATA[O HermesJMS é uma ferramenta muito útil para dar suporte ao desenvolvimento de aplicações que trabalham com JMS (menssageria), ou seja, para quem trabalha com integrações, processos e SOA é de grande utilidade.
Com o HermesJMS é possível publicar mensagens, remover, ver o conteúdo das mensagens publicadas, a quantidade, dentre outras funcionalidades. Eu diria que o [...]]]></description>
			<content:encoded><![CDATA[<p>O <a href="http://www.hermesjms.com/" target="_blank" style="text-decoration: underline">HermesJMS</a> é uma ferramenta muito útil para dar suporte ao desenvolvimento de aplicações que trabalham com <a href="http://java.sun.com/products/jms/" target="_blank" style="text-decoration: underline">JMS</a> (menssageria), ou seja, para quem trabalha com integrações, processos e SOA é de grande utilidade.</p>
<p>Com o HermesJMS é possível publicar mensagens, remover, ver o conteúdo das mensagens publicadas, a quantidade, dentre outras funcionalidades. Eu diria que o HermesJMS está para JMS como o <a href="http://www.soapui.org/" target="_blank" style="text-decoration: underline">soapUI</a> está pra <em>Web Services</em>.</p>
<p>Só que existe um pequeno probleminha de incompatibilidade entre o HermesJMS e o Weblogic 10.2. O HermesJMS foi construído com a <a href="http://java.com/pt_BR/download/faq/jvm.xml" target="_blank" style="text-decoration: underline">JVM</a> 1.6 e o <a href="http://e-docs.bea.com/platform/suppconfigs/configs102/102_over/overview.html" target="_blank" style="text-decoration: underline">Weblogic 10.2</a> roda com a JVM 1.5, portanto quando tentamos acessar <em>resources</em> JMS configurados em um servidor Weblogic temos um probleminha com o <a href="http://nullability.org/?p=95" target="_blank" style="text-decoration: underline"><em>ClassLoader</em></a>, segundo <em>bug</em> relatado <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6434149" target="_blank" style="text-decoration: underline">nesse link</a>.</p>
<p>Geralmente para resolução desse problema, quando eu ia usar o Hermes,  eu mudava a minha <a href="http://lowfatlinux.com/linux-environment-variables.html" target="_blank" style="text-decoration: underline">váriavel ambiente</a> JAVA_HOME para apontar para o JDK 1.5, para agilizar esse processo pode ser feito um <a href="http://pt.wikipedia.org/wiki/Shell_script" target="_blank" style="text-decoration: underline">Shell Script</a> que seta essa varíavel de ambiente apontando para o JDK 1.5 e abrindo o HermesJMS logo em seguida, mas existe uma solução melhor e mais limpa para isso, que é setando uma propriedade na inicialização do HermesJMS, seguem os passos necessários:</p>
<p>1) Entrar no diretório de instalação do HermesJMS, no meu caso é /opt/HermesJMS<br />
2) Editar o arquivo <strong>hermes.sh</strong> que fica dentro do diretório <strong>bin</strong><br />
3) Ir para a última linha desse arquivo e adicionar a propriedade: <em>-Dsun.lang.ClassLoader.allowArraySyntax=true</em></p>
<p>Dessa forma, a última linha do arquivo /bin/hermes.sh ficaria assim:</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="Text"><div class="devcodeoverflow"><ol><li>&quot;$JAVACMD&quot; -XX:NewSize=256m -Xmx1024m -Dsun.lang.ClassLoader.allowArraySyntax=true $HERMES_OPTS -Dhermes.home=$HERMES_HOME -Dhermes=$HERMES_CFG -Dhermes.libs=$HERMES_LIB_PROPERTY -classpath $LOCALCLASSPATH hermes.browser.HermesBrowser</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Esse pequeno <em>workaround</em> corrige esse probleminha de incompatibilidade entre o HermesJMS e o Weblogic 10.2 e nos permite usar o HermesJMS com o JDK 1.6.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcuscavalcanti.net/blog/2009/07/08/usando-o-hermesjms-com-jdk-16-no-weblogic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mostrando mensagens de log no stdOut (console) do Weblogic</title>
		<link>http://www.marcuscavalcanti.net/blog/2009/03/27/mostrando-mensagens-de-log-no-console-do-weblogic/</link>
		<comments>http://www.marcuscavalcanti.net/blog/2009/03/27/mostrando-mensagens-de-log-no-console-do-weblogic/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 04:17:26 +0000</pubDate>
		<dc:creator>Marcus Cavalcanti</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Console]]></category>
		<category><![CDATA[log]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[stdOut]]></category>
		<category><![CDATA[Weblogic]]></category>
		<category><![CDATA[Workshop]]></category>

		<guid isPermaLink="false">http://www.marcuscavalcanti.net/blog/?p=837</guid>
		<description><![CDATA[Essa é uma dica bem rapidinha, que na verdade estou postando, pois não achei nada no Google muito relevante a respeito. Como imagino que existem pessoas com o mesmo probleminha, então segue a dica logo abaixo.
Na aplicação web do projeto que estou trabalhando, nós fazemos o uso da API Commons Logging do Apache para poder [...]]]></description>
			<content:encoded><![CDATA[<p>Essa é uma dica bem rapidinha, que na verdade estou postando, pois não achei nada no Google muito relevante a respeito. Como imagino que existem pessoas com o mesmo probleminha, então segue a dica logo abaixo.</p>
<p>Na aplicação web do projeto que estou trabalhando, nós fazemos o uso da API <a href="http://commons.apache.org/logging/" target="_blank" style="text-decoration: underline">Commons Logging</a> do Apache para poder fazer <em>logging</em> da aplicação, só que para o <em>log</em> aparecer corretamente no <em>console</em> existe um pequeno &#8220;macete&#8221;, que por incrivel que pareça não diz com mais detalhes na <a href="http://e-docs.bea.com/wls/docs103/logging/config_logs.html#wp1011903" target="_blank" style="text-decoration: underline">documentação do Weblogic</a>.</p>
<p>O probleminha era, que por mais que eu fizesse o seguinte:</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="Java"><div class="devcodeoverflow"><ol><li></li><li><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> SovWS <span style="color: #009900;">&#123;</span></li><li>&nbsp;</li><li>	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">static</span> Log log <span style="color: #339933;">=</span>&nbsp;&nbsp;LogFactory.<span style="color: #006633;">getLog</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;SOV-&quot;</span><span style="color: #339933;">+</span>SovWS.<span style="color: #000000; font-weight: bold;">class</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></li><li>&nbsp;</li><li>	@WebMethod</li><li>	<span style="color: #000000; font-weight: bold;">public</span> SaveMetaResponseDocument saveMeta<span style="color: #009900;">&#40;</span>SaveMetaRequestDocument request<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>		</li><li>		log.<span style="color: #006633;">info</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">getClass</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot; iniciando a nova meta&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ....</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&#125;</span></li><li><span style="color: #009900;">&#125;</span></li><li></li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Eu não conseguia fazer com que a mensagem de <em>log</em> aparecesse no console do <em>Workshop</em>, ainda que tudo estivesse correto.</p>
<p>Para resolver é muito simples, basta ir nas propriedades do projeto, ir nos <em>facets</em> do projeto e verificar se a extensão <strong><em>Weblogic Integrated Commons Logging</em></strong> está como um <em>facet</em> do projeto, se não estiver, está aí o problema e para resolver basta adicionar esse novo <em>facet</em>.</p>
<p>Para ter certeza que está tudo certinho, sugiro abrir o arquivo <strong>weblogic-application.xml</strong> e verificar se a seguinte configuração está presente:</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="XML"><div class="devcodeoverflow"><ol><li></li><li><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;wls:library-ref<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;wls:library-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>wls-commonslogging-bridge<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/wls:library-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;wls:specification-version<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>1.0<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/wls:specification-version<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;wls:exact-match<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>true<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/wls:exact-match<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></li><li><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/wls:library-ref<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></li><li></li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Se a seguinte configuração estiver presente, pronto, tudo ok! Agora o <em>log</em> deverá aparecer no console sem problemas.</p>
<p>PS: Só para ressaltar que essa dica é válida para ambiente de desenvolvimento.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcuscavalcanti.net/blog/2009/03/27/mostrando-mensagens-de-log-no-console-do-weblogic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
