[QFJ-861] OutOfMemoryError with using DefaultMessageFactory and quickfixj-all-1.6.1.jar Created: 23/Sep/15 Updated: 22/Dec/15 Resolved: 22/Dec/15 |
|
Status: | Closed |
Project: | QuickFIX/J |
Component/s: | None |
Affects Version/s: | 1.6.1 |
Fix Version/s: | None |
Type: | Bug | Priority: | Major |
Reporter: | Frantisek Hradil | Assignee: | Unassigned |
Resolution: | Not a bug | Votes: | 0 |
Labels: | None |
Issue Links: |
|
Description |
Hi, I had to use "quickfixj-all-1.6.1.jar" instead of "quickfixj-core-1.6.1.jar" + "quickfixj-messages-fix44-1.6.1.jar" because of issue " Please, could you look at it? Is there a plan for release a new quickfixj version? Thank you. Error replication: More exception details: |
Comments |
Comment by Christoph John [ 23/Sep/15 ] |
Seems you'll have to increase the PermGen size then. Or use Java8 and Metaspace. https://github.com/quickfix-j/quickfixj/wiki/QFJ-1.6.0-release-notes Edit: |
Comment by Frantisek Hradil [ 23/Sep/15 ] |
Hi John, I'm working in a big company, so it's not easy to upgrade to Java8 in tens of our applications. Also it is not so easy to increase memory... (Which value is enough, what do you think?) Main problem is, that |
Comment by Christoph John [ 23/Sep/15 ] |
Hi, I don't know what the default PermGen setting is on your machine. But I guess somewhere around 64 or 96MB. So increasing to 128MB might already help. But this of course also depends on the classes loaded by your own application, which also go into PermGen. I think you are referring to Another work-around: in our company we did not need the FIX5.0+ stuff either but wanted a single JAR, so we just built a new JAR only containing the needed FIX message classes for FIX4.0 - 4.4. This can be achieved with the Maven Shade plugin. But I don't know if you are using Maven. |
Comment by Frantisek Hradil [ 23/Sep/15 ] |
Actually I got the error also with 512MB or 1024MB - so it is really strange... Thank you for your help. I will probably wait with upgrade untill |
Comment by Christoph John [ 23/Sep/15 ] |
I think that is impossible. I guess the setting does not get picked up by the process. You can find out the current PermGen size by doing e.g. "jmap -heap <pid>" on your process. Are you sure you are setting PermGen size, not heap size? |
Comment by Frantisek Hradil [ 23/Sep/15 ] |
Omg, my mistake! You are right, I increased just heap size. It works now. |
Comment by Christoph John [ 23/Sep/15 ] |
No problem |