Question
Belvnesheconombank
BY
Last activity: 11 Dec 2024 4:05 EST
Pega Java library upgrade
Hi guys!
I need to upgrade our java library docx4j on Pega 7.1.9. I downloaded jars for docx4j 6.1.1. with all dependencies but when I installed it on Pega 7.1.9 our server had broke, Check In and Check Out operations stopped working with followed errors:
Hi guys!
I need to upgrade our java library docx4j on Pega 7.1.9. I downloaded jars for docx4j 6.1.1. with all dependencies but when I installed it on Pega 7.1.9 our server had broke, Check In and Check Out operations stopped working with followed errors:
[11/27/24 14:02:27:069 FET] 00000082 SystemOut O 2024-11-27 14:02:27,069 [ WebContainer : 5] [TABTHREAD0] [ ] [BLegalLoans:01.01.01] (lipboard.DirectStreamEncoderV7) INFO XXX.XXX.XX.XXX|XXX.XX.XXX.XXX TV3V - [Encoding - Error during encode - f5zzat9qah
[11/27/24 14:02:27:070 FET] 00000082 SystemOut O 2024-11-27 14:02:27,069 [ WebContainer : 5] [TABTHREAD0] [ ] [BLegalLoans:01.01.01] ( internal.access.DatabaseImpl) ERROR XXX.XXX.XX.XXX|XXX.XX.XXX.XXX TV3V - Encountered problem when performing a Commit
java.lang.NullPointerException
at com.pega.pegarules.data.internal.clipboard.DirectStreamEncoderV7.releaseEncoder(DirectStreamEncoderV7.java:275)
at com.pega.pegarules.data.internal.clipboard.DirectStreamEncoderV7.encode(DirectStreamEncoderV7.java:494)
at com.pega.pegarules.data.internal.clipboard.StorageStreamCommonImpl.encode(StorageStreamCommonImpl.java:844)
at com.pega.pegarules.data.internal.clipboard.ClipboardPageImpl.getStreamForm(ClipboardPageImpl.java:3851)
at com.pega.pegarules.data.internal.access.PageDatabaseMapperImpl.getStreamFormOfPage(PageDatabaseMapperImpl.java:1456)
at com.pega.pegarules.data.internal.access.DatabaseImpl.preprocessInstancesBeforeCriticalCommitSection(DatabaseImpl.java:3172)
at com.pega.pegarules.data.internal.access.DatabaseImpl.attemptToProcessUpdates(DatabaseImpl.java:2650)
at com.pega.pegarules.data.internal.access.DatabaseImpl.processUpdates(DatabaseImpl.java:2322)
at com.pega.pegarules.data.internal.access.DatabaseImpl.commit(DatabaseImpl.java:2061)
at com.pegarules.generated.activity.ra_action_rmactioncheckout_c8063472296cb53617fb492d0ba62e10.step3_circum0(ra_action_rmactioncheckout_c8063472296cb53617fb492d0ba62e10.java:437)
at com.pegarules.generated.activity.ra_action_rmactioncheckout_c8063472296cb53617fb492d0ba62e10.perform(ra_action_rmactioncheckout_c8063472296cb53617fb492d0ba62e10.java:105)
at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3505)
at com.pega.pegarules.session.internal.mgmt.Executable.invokeActivity(Executable.java:10563)
at com.pegarules.generated.activity.ra_action_processrmaction_b2414ca9344c4ec0701560598b5b5aeb.step10_circum0(ra_action_processrmaction_b2414ca9344c4ec0701560598b5b5aeb.java:1117)
at com.pegarules.generated.activity.ra_action_processrmaction_b2414ca9344c4ec0701560598b5b5aeb.perform(ra_action_processrmaction_b2414ca9344c4ec0701560598b5b5aeb.java:225)
at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3505)
at com.pegarules.generated.activity.ra_action_pzrunactionwrapper_056ec03796d8a13802f156886066036d.step1_circum0(ra_action_pzrunactionwrapper_056ec03796d8a13802f156886066036d.java:318)
at com.pegarules.generated.activity.ra_action_pzrunactionwrapper_056ec03796d8a13802f156886066036d.perform(ra_action_pzrunactionwrapper_056ec03796d8a13802f156886066036d.java:69)
at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3505)
at com.pega.pegarules.session.internal.mgmt.base.ThreadRunner.runActivitiesAlt(ThreadRunner.java:646)
at com.pega.pegarules.session.internal.mgmt.PRThreadImpl.runActivitiesAlt(PRThreadImpl.java:461)
at com.pega.pegarules.session.internal.engineinterface.service.HttpAPI.runActivities(HttpAPI.java:3358)
at com.pega.pegarules.session.external.engineinterface.service.EngineAPI.processRequestInner(EngineAPI.java:385)
at sun.reflect.GeneratedMethodAccessor88.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.performTargetActionWithLock(PRSessionProviderImpl.java:1270)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:1008)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:841)
at com.pega.pegarules.session.external.engineinterface.service.EngineAPI.processRequest(EngineAPI.java:331)
at com.pega.pegarules.session.internal.engineinterface.service.HttpAPI.invoke(HttpAPI.java:852)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl._invokeEngine_privact(EngineImpl.java:315)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl.invokeEngine(EngineImpl.java:263)
at com.pega.pegarules.session.internal.engineinterface.etier.ejb.EngineBean.invokeEngine(EngineBean.java:225)
at sun.reflect.GeneratedMethodAccessor71.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:370)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:411)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:223)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingException(AppServerBridgeToPega.java:245)
at com.pega.pegarules.internal.etier.ejb.EngineBeanBoot.invokeEngine(EngineBeanBoot.java:168)
at com.pega.pegarules.internal.etier.interfaces.EJSLocalStatelessEngineBMT_f2439d86.invokeEngine(Unknown Source)
at com.pega.pegarules.priv.context.JNDIEnvironment.invokeEngineInner(JNDIEnvironment.java:278)
at com.pega.pegarules.priv.context.JNDIEnvironment.invokeEngine(JNDIEnvironment.java:223)
at com.pega.pegarules.web.impl.WebStandardImpl.makeEtierRequest(WebStandardImpl.java:574)
at com.pega.pegarules.web.impl.WebStandardImpl.doPost(WebStandardImpl.java:374)
at sun.reflect.GeneratedMethodAccessor86.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:370)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:411)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:223)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethod(AppServerBridgeToPega.java:272)
at com.pega.pegarules.internal.web.servlet.WebStandardBoot.doPost(WebStandardBoot.java:121)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1230)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:779)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1071)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:914)
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:200)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:461)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:528)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:314)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:88)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1864)
I need to upgrade our java library docx4j on Pega 7.1.9. I downloaded jars for docx4j 6.1.1. with all dependencies but when I installed it on Pega 7.1.9 our server had broke, Check In and Check Out operations stopped working with followed errors:
In this log I can see that the problem is inside DirectStreamEncoderV7 class. But I can't understand why it becomes broken because there are no new versions of this class in jars for docx4j 6.1.1.
I also tried to install these dependencies not from internet but from Pega 8.3 server. And it also didn't work on Pega 7.1.9
I attached a table where you can see differences between pega 7/pega 8 engine classes I found on these servers and maybe It can help to understand what I need to do to upgrade docx4j library on Pega 7.1.9
I need to do it because existing default library docx4j-3.5.2 can't generate .docx in correct way and format and when business users try to open generated word they see the error about broken file
@Artsiom_Sukhanau As you know Pega Pega 7.1.9. I is way beyond Extended Support,.
Pega Extended Support program
Trying to backport functionality of new third party components is not advisable as it would not have been tested for compatibility.
In Pega 8.4, the docx4j jar was updated from 3.3.0 to 6.1.1, and to make it work properly, you need to add the necessary dependencies for docx4j-export-fo along with its transitive dependencies. This will ensure compatibility and functionality with the newer version.
This is discussed in the following PSC post:
Convert Docx (Word document) to PDF in 8.1 and above
It is an unsupported manipulation if attempted standalone. The upgrade from version 3.5.2 to 6.1.1 represents a major version change (from 3.x to 6.x), which typically indicates significant architectural changes and potential breaking changes in the API. My research has revealed that this particular upgrade includes several breaking changes, especially in how the library handles document processing and conversions.
@Artsiom_Sukhanau As you know Pega Pega 7.1.9. I is way beyond Extended Support,.
Pega Extended Support program
Trying to backport functionality of new third party components is not advisable as it would not have been tested for compatibility.
In Pega 8.4, the docx4j jar was updated from 3.3.0 to 6.1.1, and to make it work properly, you need to add the necessary dependencies for docx4j-export-fo along with its transitive dependencies. This will ensure compatibility and functionality with the newer version.
This is discussed in the following PSC post:
Convert Docx (Word document) to PDF in 8.1 and above
It is an unsupported manipulation if attempted standalone. The upgrade from version 3.5.2 to 6.1.1 represents a major version change (from 3.x to 6.x), which typically indicates significant architectural changes and potential breaking changes in the API. My research has revealed that this particular upgrade includes several breaking changes, especially in how the library handles document processing and conversions.
Each release of Pega will have had improvements made wrt Document-generation functionality. Please go through our Resolved Issues documentation.
For example in Resolved Issues for version 8.7:
"After generating a Word document using the pxGenerateWordDocument activity, opening the document resulted in a popup message indicating "Word found unreadable content". This was traced to an issue with docx4j version 8.2.6, and has been resolved by updating docx4j to version 8.3.1 ."
Please consider upgrading.
Pega Infinity Patch Calendar