Wednesday Jun 25, 2014

How to fix weblogic.socket.MaxMessageSizeExceededException when using weblogic standalone client?

MaxMessageSizeExceededException might be a known issue in weblogic server, but sometimes it can be tricky.

If you are using a weblogic standalone client like wlthint3client.jar you might hit MaxMessageSizeExceededException.

If you still see the exact error after setting MaxMessageSize in the Administration Console in Protocols->General, you might be hitting this issue.

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

Try  setting the value programatically in your java code e.g:

System.setProperty("weblogic.MaxMessageSize", "300000000"); 


You can also set the value in your JAVA_OPTIONS -Dweblogic.MaxMessageSize=300000000

References
http://docs.oracle.com/cd/E29542_01/web.1111/e13814/jmstuning.htm


Sometimes you still can see the same error after set MaxMessageSize in the Administration Console in Protocols->General, but you see the parameter being picked:

weblogic.socket.MaxMessageSizeExceededException: Incoming message of size: '30000080' bytes exceeds the 
configured maximum of: '30000000' bytes for protocol: 't3'

In these cases, you need to investigate why you have these huge messages along your environment. You can review a tcpdump to research further.

Enjoy!





Thursday Jun 05, 2014

Where are the values of java.library.path being set?

This one could be a WebLogic Server question, but this post is general for any java environment.

We were getting  at the very beginning  java library path something like this:

/home/lmestre/jdk1.6/jre/lib/amd64/server:/home/lmestre/jdk1.6/jre/lib/amd64:/home/lmestre/jdk1.6/jre/../lib/amd64

So, the question was:


Where WebLogic Server is setting java.library.path?

I never found the answer, so why don't we try to try to answer

Where the JVM is setting java.library.path?

public class LibraryPathPrinter {

   public static void main(String[] args) {
       String javaLibraryPath= System.getProperty("java.library.path");
       System.out.println("java.library.path "+javaLibraryPath );
   }

}

after a simple

javac LibraryPathPrinter.java

and then an easy

java LibraryPathPrinter

voila!

The program printed something like this

java.library.path  /home/lmestre/jdk1.6/jre/lib/amd64/server:/home/lmestre/jdk1.6/jre/lib/amd64:/home/lmestre/jdk1.6/jre/../lib/amd64

So the JVM was the culprit.
Enjoy!

About


My name is Luz Mestre. I work as Principal Technical Support Engineer at Oracle Support. I'll post here the most interesting challenges I have in my daily work. The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.

Search

Categories
Archives
« June 2014 »
SunMonTueWedThuFriSat
1
2
3
4
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
26
27
28
29
30
     
       
Today