Problema ao configurar o Oracle Identity Manager
Ao configurar o Oracle Identity Manager (criação de novo domínio) ele necessita saber a porta do Node Manager. Para isso ele acessa o arquivo nodemanager.properties e busca pelo atributo ListenPort. Caso não encontre esse arquivo, o instalador mostra o seguinte erro:
Number Format Exception thrown when trying to get nodemanager port.
Cause:
The Nodemanager Listen port entry is not present in the nodemanager.properties file or it is not set to numeric value.
Action:
Add the Nodemanager port (for example, ListenPort=5556) to the nodemanager.properties file and press Retry button to continue the configuration.
Para corrigir esse erro, basta seguir o que está descrito no erro. Abra o arquivo: Oracle/Middleware/wlserver_10.3/common/nodemanager/nodemanager.properties e adicione a seguinte linha:
ListenPort=5556
Agora é só clicar em Retry na configuração do Oracle Identity Manager e a configuração irá prosseguir.
Evitar pedir usuário e senha em produção no WLS
Quando você realiza a criação de um domínio do WebLogic em modo de produção, ao iniciar o servidor ele solicita à você o usuário e senha administrativos.
Enter username to boot WebLogic server: Enter password to boot WebLogic server:
Para evitar isso e possibilitar a criação de scripts automáticos para inicialização do domínio WebLogic, é necessário criar um arquivo: boot.properties. Crie o arquivo em DOMAIN/servers/AdminServer/security/boot.properties com o seguinte conteúdo:
username=usuario password=senha
Substitua o “usuario” e “senha” pelo respectiva usuário e senha. Agora é só iniciar o WebLogic e você verá a seguinte linha no log.
<Jan 2, 2012 5:23:22 PM BRST> <Notice> <Security> <BEA-090083> <Storing boot identity in the file: /u01/Oracle/Middleware/user_projects/domains/wc_only_domain/servers/AdminServer/security/boot.properties>
Após o server subir, o arquivo será criptografado e a senha não será mais necessária!
Desabilitando o WS-Addressing no SOA Suite
Esses dias tive um problema com um projeto da Índia. O cliente, ao realizar a chamada pra um serviço que eu desenvolvi, recebia o seguinte erro:
A required header representing a Message Addressing Property is not present
Os testes realizados no SOAP-UI e cliente WS criado não apresentavam nenhum erro, então ficava difícil simular o ocorrido. Pela mensagem informada, podemos ter dois tipos de erro:
- O cliente está adicionando um header na requisição inválido
- Ou o servidor está esperando um header que o cliente não enviou
««« Clique aqui para ler o restante do conteúdo: Desabilitando o WS-Addressing no SOA Suite »»»
Centésimo post, J1, pizza com café e novidades
Esse é o centésimo post do blog… Até que enfim estou conseguindo tocar o blog! Já comecei o blog pelo menos 4 vezes e, finalmente, está dando bem certo. Descobri que o segredo para manter um blog não é querer escrever toda a hora ou escrever por obrigação, mas é escrever um pouquinho por vez quando dá e de algo que você goste ou esteja utilizando.
Junto com a novidade do centésimo post, nesse mês, vieram várias outras. Realizei um apresentação de TV Digital no Java One 2011, junto com o Carlos Fernando Gonçalvez e foi muito legal. Fui convidado para o Community Keynote do evento onde pude demonstrar a força da comunidade Java como membro do JavaNoroeste e a integração da TV Digital com o JHome para controle de equipamentos e automação residencial pela televisão. As fotos do evento e vídeos do Community Keynote, podem ser encontradas nesses links:
- Eu demonstrando a aplicação de TV Digital utilizando twitter. Twittado pela @yarasenger: http://twitpic.com/7q9e0r/full
- Álbum da Globalcode do Java One 2011: https://picasaweb.google.com/101683666840607649394/JavaOneBrasil201102
- Álbum do Marcelo Quinta: https://plus.google.com/photos/103787114309180546346/albums/5684287518153548609
- Blog do Neto: http://netomarin.com/blog/20111220/javaone-latin-america-2011-ultimos-dias-e-minha-palestra/
- Globalcoders: http://blog.globalcode.com.br/2011/12/javaone-brasil-2011-java-spotlight.html
- Blog da Loiane: http://www.loiane.com/2011/12/javaone-brasil-2011-video-do-community-keynote/
- Vídeo do Real Java Geeks: http://www.youtube.com/watch?v=BNJIjgFhpUA
Outra coisa bacana é o surgimento de um novo podcast do qual faço parte: o Pizza Com Café. A ideia surgiu da necessidade de reuniões mensais para troca de informações, mas por falta de tempo resolvemos realizar uma pizzada e gravar um podcast e dessa forma surgiu o Pizza com Café. Já temos uma gravação feita e em breve o podcast entra no ar!
Além dessas notícias, consegui tirar a certificação Oracle Certified Master, Java EE 5 Enterprise Architect. É uma certificação muito difícil e me senti obrigado à prestar após o anúncio da Oracle que para tirar essa certificação iria ser necessário realizar cursos oficiais Oracle como pré-requisito. Como eu já tinha a primeira fase (prestei beta), resolvi prestar as outras duas etapas restantes. Consegui passar logo de primeira, o que me deixou bastante feliz, já que pra mim essa é a prova mais difícil de tecnologia Java, pois envolve teoria, prática, muito conhecimento e experiência.
Obrigado à todos que contribuíram para todas essas realizações
Agora é só aguardar pelas novidades de 2012!
Habilitando Cookies Seguros no WebLogic
Em requisições HTTPS que utilizam cookies é importante habilitar a flag SECURE=”TRUE” nos cookies. Para realizar isso no WebLogic, é necessário adicionar as seguinte linha no weblogic-application.xml
<wls:session-descriptor> <wls:cookie-secure>true</wls:cookie-secure> </wls:session-descriptor>
E garantir que no console do weblogic esteja marcado o seguinte: Domain -> Configuration -> Web Application tab, enable “Auth Cookie Enabled”
Para garantir, abrir o config.xml do weblogic e adicionar/alterar a tag:
<auth-cookie-enabled>true</auth-cookie-enabled>
Mais informações: http://www.owasp.org/index.php/OWASP_AppSec_FAQ#What_are_these_secure_cookies.3F
Habilitando o JPA 2 no WebLogic Server
Por padrão o WebLogic Server não vem com o JPA 2 habilitado. Então ao utilizar recursos específicos do JPA 2 dentro do WebLogic Server você pode ter erros semelhantes a esse: java.lang.NoSuchMethodError: javax.persistence.EntityManager.getCriteriaBuilder()Ljavax/persistence/criteria/CriteriaBuilder;
Para resolver esse problema é necessário colocar as libs do JPA 2 no início do classpath do WebLogic. As libs estão disponíveis no caminho $WL_HOME/modules e são as seguintes: javax.persistence_1.0.0.0_2-0-0.jar e com.oracle.jpa2support_1.0.0.0_2-0.jar.
Edite o arquivo setDomainEnv.[sh|cmd] e insira a variável PRE_CLASSPATH da seguinte maneira:
export PRE_CLASSPATH=$MW_HOME/modules/javax.persistence_1.0.0.0_2-0-0.jar:$MW_HOME/modules/com.oracle.jpa2support_1.0.0.0_2-0.jar
No windows, substitua o comando export por set e os dois pontos para ponto e vírgula. Altere o $MW_HOME para o home do middleware. Agora é só realizar deploy do seu aplicativo com JPA 2.
Otimizando o JDeveloper
Estou utilizando a versão 11.1.1.5.0 generic no Linux, mas para outras plataformas as configurações são similares. O arquivo principal de configuração (jdev.conf) do JDeveloper está localizados na pasta $MW_HOME/jdeveloper/jdev/bin.
A primeira linha desse arquivo indica onde temos outras configurações: IncludeConfFile ../../ide/bin/ide.conf. O primeiro passo é abrir esse arquivo (ide.conf) e alterar os parametros Xmx e Xms. O parâmetro Xms é referente à quantidade de memória heap inicial a ser utilizada e o Xmx é a quantidade máxima. Minha máquina possui 8GB de RAM. Para o meu JDeveloper, 2GB de máximo e 1GB de mínimo é suficiente. O recomendado é 1/4 do total de memória que a máquina possua, mas você deve levar em consideração que poderá subir outros servidores e outras aplicações que irão consumir memória. Então aumentar muito esse valor, pode fazer com que a sua máquina utilize swap e, ao invés de deixar o JDeveloper mais rápido, sua máquina irá acabar ficando mais lenta. Então eu alterei minha máquina para os seguintes valores: “AddVMOption -Xmx2048M” e “AddVMOption -Xms1024M”.
««« Clique aqui para ler o restante do conteúdo: Otimizando o JDeveloper »»»
Desinstalando o JDeveloper
O mesmo procedimento para a desinstalação do JDeveloper poderá ser feito para desinstalar qualquer outro componente do Oracle Fusion Middleware. Lembrando que o mesmo não pode estar em execução.
Para desinstalar o JDeveloper, acesse a pasta $MW_HOME/utils/uninstall/ e execute o arquivo uninstall (sem extensão ou .sh no linux e .exe no windows).
Após a execução, irá abrir o Oracle Uninstaller.
««« Clique aqui para ler o restante do conteúdo: Desinstalando o JDeveloper »»»
Desconto no TDC e comida grátis!!!
Vai ter um super evento nessa próxima semana em São Paulo: The Developers Conference!
O evento é um dos maiores do Brasil e é composto por várias trilhas atendendo todos os gostos do mundo de desenvolvimento. Esse ano ele está maior e melhor e será realizado durante o lançamento do Java 7 e contará com a presença de nomes importantes do mundo de desenvolvedores e T.I. em geral.
««« Clique aqui para ler o restante do conteúdo: Desconto no TDC e comida grátis!!! »»»
NonCatalogLogger no WebLogic
O WebLogic possui um mecanismo de logging com vários recursos, inclusive internacionalização de mensagens de erro. Você pode encontrar informações de como configurar e utilizar de forma detalhada no seguinte endereço: http://download.oracle.com/docs/cd/E12840_01/wls/docs103/i18n/index.html.
O objetivo desse post é utilizar o NonCatalogLogger que é indicado para aplicações que não precisam de internacionalização de log ou para aplicações que executam em sua própria JVM.
««« Clique aqui para ler o restante do conteúdo: NonCatalogLogger no WebLogic »»»



