Administração Soa Suite

Erro MaxMessageSizeExceededException

Um erro muito comum que ocorre em Servidores de aplicação WebLogic é o weblogic.socket.MaxMessageSizeExceededException conforme exemplo abaixo:

weblogic.socket.MaxMessageSizeExceededException: Incoming message of size: ‘10000080’ bytes exceeds
the configured maximum of: ‘10000000’ bytes for protocol: ‘t3’


Este erro ocorre por exemplo se o parâmetro MessagesMaximum tem um valor de 10 milhões (10000000) ou 10MB, e o total de Mensagens JMS ou o próprio arquivo JAR é grande demais e passa deste valor, no exemplo acima está recebendo 10000080 bytes.

Porém devemos ficar atentos pois ajustar esse valor para muito alto podemos ter um problema também na utilização da memória do servidor, já que o primeiro client do consumidor para se conectar receberá todas as mensagens que já chegaram ao destino. Esta condição deixa outros consumidores sem qualquer mensagem e cria um backlog desnecessária de mensagens

Você pode precisar configurar Clients WebLogic, além das instâncias WebLogic Server, ao enviar e receber mensagens grandes.

Para a maioria dos protocolos, incluindo T3, WLS limita o tamanho de uma mensagem para 10MB por padrão. Se os tamanhos individuais de mensagens JMS exceder esse limite, ou se um conjunto de mensagens JMS que é agrupadas na mesma chamada de rede exceder esse limite, isso pode levar a um “pacote muito grande de exceções” e/ou consumidores paralisadas.

Para definir o tamanho máximo de mensagem em uma instância do servidor, devemos ajustar o tamanho máximo de mensagem para cada protocolo suportado em uma base por protocolo para cada canal padrão envolvido ou canal personalizado. Neste contexto, a palavra “mensagem” refere-se a todas as chamadas de rede sobre o protocolo determinado, e não apenas as chamadas JMS.

Para definir o tamanho máximo de mensagem em um cliente, use a seguinte propriedade linha de comando:

-Dweblogic.MaxMessageSize

Obs: Esta definição aplica-se a todos os pacotes de rede do WebLogic Server entregues para o cliente, e não apenas pacotes JMS relacionados.

O tamanho máximo de mensagem ajuda a proteger contra um ataque de negação de serviço em que um chamador tenta forçar o servidor para alocar mais memória do que está disponível, assim, ajuda o servidor a responder rapidamente a outros pedidos.

  • Valor Mínimo: 4096
  • Valor Máximo: 2000000000
  • Valor Seguro: 10000000

Para realizarmos esta alteração faça o seguinte:

No seu Browser vá no endereço http://localhost:10000/console

Obs: A porta 10000 é o numero que escolhi ao criar o meu Domínio.

Faça o Login:

Imagem Blog UansCarvalho

Em Environment clique em Servers

Imagem Blog UansCarvalho

Clique em AdminServer(admin)

Imagem Blog UansCarvalho

Clique em Protocols e altere o valor em Maximum Message Size:

Imagem Blog UansCarvalho

Veja acima que estou colocando o valor para  2000000000

Em seguida clique em Save para ativar as alterações.

 

 

Abraços e até a Próxima

/:-D

 

 

Criei este Blog destinado a desenvolvedores e interessados na Tecnologia Oracle SOA Suite, minha idéia é que no futuro ele sirva de referência para Analistas e Desenvolvedores desde aprendizes a especialistas. Já existem alguns Posts interessantes que abordam um pouco do meu dia a dia, no passar do tempo irei alimentar este Blog com o máximo de informações possíveis, por isso peço por gentileza aos interessados e afins que caso tenham alguma dúvida, sugestão ou crítica que me digam para que eu possa da melhor forma suprir as expectativas e na medida do possível sanar todas as duvidas que vierem a surgir ou até mesmo criar novos Posts abordando algum tópico que venha a ser relevante para todos os interessados. Obrigado Uans Carvalho

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *