lunes, 8 de enero de 2018

Solucionar Excepción Con Audit Trail Enormes en SOA Suite


A veces, en el día a día, cuando se accede al Enterprise Manager (EM Console) para ver el Audit Trail (o trace de invocación) para debugear un proceso BPEL que sea bastante complejo y largo, la excepción que se muestra a continuación puede lanzarse, y el Audit Trail al no estar completamente construido no se deja visualizar.



     Exception occured while retrieving the Flowtrace XML for the Composite Instance;
    ECID: 2d0237859052c116:-7239f8e2:1495cf2793d:-8000-0000000000002db1
    >> java.rmi.RemoteException: EJB Exception: ; nested exception is:
    >>>  java.lang.RuntimeException:
    >>>  oracle.soa.management.facade.DataSetTooLargeException:
    >>>  Requested audit trail size is larger than threshold 1048576 chars
    >>>  at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:237)
    >>>  at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:223)
    >>>  at oracle.soa.management.internal.ejb.impl.FacadeFinderBean_4vacyo_
    >>>  FacadeFinderBeanImpl_1036_WLStub.getAuditTrail(Unknown Source)
    >>>  at oracle.soa.management.internal.ejb.EJBLocatorImpl.getAuditTrail
    >>>  (EJBLocatorImpl.java:473)
    >>>  at oracle.sysman.emai.model.sca.share.composite.FlowTraceModel
    >>>  .setFloatraceModelInfo(FlowTraceModel.java:172)
    >>>  at oracle.sysman.emai.model.sca.share.composite
    >>>  .FlowTraceModel.initialize(FlowTraceModel.java:79)
    >>>  at oracle.sysman.emai.model.sca.EMEntityModel
    >>>  ._initializeEntityData(EMEntityModel.java:28)
    >>>  at oracle.sysman.emai.model.sca.common.SCAEntityObject
    >>>  .initializeSCAData(SCAEntityObject.java:124)

Si se lee con atención lo remarcado en el Stack Trace (log) anterior, se ve claramente como la cantidad de carácteres del Audit Trail supera el valor establecido por defecto en el dominio SOA sobre el cual corre el BPEL.

Desde el Enterprise Manager (EM Console) puede apreciarse este comportamiento pero con un mensaje ligeramente diferente:





Esto sucede porque el parámetro instanceTrackingAuditTrailThreshold se usa para limitar el tamaño del Audit Trail. Impide que enormes Audit Trail consuman mucha o toda la memoria disponible en el servidor SOA. El valor predeterminado del parámetro instanceTrackingAuditTrailThreshold es 1MB.

Para aumentar el valor del parámetro instanceTrackingAuditTrailThreshold, haga lo siguiente:

• Vaya al Enterprise Manager (EM Console) y expanda el nodo SOA. Haga clic con el botón derecho en el nodo soa-infra y seleccione SOA Administration --> Common Properties:




En la página SOA Infrastructure Common Properties, haga clic en el enlace More SOA Infra Advanced Configuration Properties... al final de la pagina.


 
En la página System MBean Browser, haga clic en el enlace AuditConfig:


 
En la página Attribute: AuditConfig, aumente el valor del parámetro instanceTrackingAuditTrailThreshold:

 

Con agregar un 0 (cero) al final del valor númerico alcanza, pero puedes incrementar con mas 0 (ceros) si es necesario. ¡Advertencia: tampoco abuses!


Finalmente, hacer clic en el botón Apply para guardar los cambios:



Cualquier duda o consulta, puede debatirse libremente en los comentarios de este articulo. Siempre y cuando sea con respeto.

No hay comentarios:

Publicar un comentario