Es gibt mehrere Probleme, die speziell bei Clients und der Clientkonnektivität auftreten und die Sie, wie in den folgenden Abschnitten beschrieben, beheben können.
Der folgende Fehler tritt auf, wenn Sie den Kopiermodus COPY_TO_BYTES verwenden:
java.lang.NullPointerException
at com.ibm.ws.objectgrid.map.BaseMap$BaseMapObjectTransformer2.inflateObject(BaseMap.java:5278)
at com.ibm.ws.objectgrid.map.BaseMap$BaseMapObjectTransformer.inflateValue(BaseMap.java:5155)
Der folgende Fehler tritt auf, wenn Sie die API EntityManager verwenden:
java.lang.NullPointerException
at com.ibm.ws.objectgrid.em.GraphTraversalHelper.fluffFetchMD(GraphTraversalHelper.java:323)
at com.ibm.ws.objectgrid.em.GraphTraversalHelper.fluffFetchMD(GraphTraversalHelper.java:343)
at com.ibm.ws.objectgrid.em.GraphTraversalHelper.getObjectGraph(GraphTraversalHelper.java:102)
at com.ibm.ws.objectgrid.ServerCoreEventProcessor.getFromMap(ServerCoreEventProcessor.java:709)
at com.ibm.ws.objectgrid.ServerCoreEventProcessor.processGetRequest(ServerCoreEventProcessor.java:323)
Lösung: Wenn Sie die API EntityManager oder den Kopiermodus COPY_TO_BYTES verwenden, trennen Sie die Clientverbindungen, und stellen Sie sie anschließend wieder her, nachdem das ObjectGrid gestoppt und erneut gestartet wurde. Durch das Trennen und erneuten Herstellen der Clientverbindungen wird der Cache mit den Metadaten-IDs aktualisiert. Sie können Clientverbindungen mit der Methode ObjectGridManager.disconnect oder der Methode ObjectGrid.destroy trennen.
Ein Client kann blockieren, wenn die Methode "getObjectGrid" in ObjectGridManager aufgerufen wird oder eine Ausnahme des Typs "com.ibm.websphere.projector.MetadataException" auslösen. Das EntityMetadata-Repository ist nicht verfügbar und der Zeitlimitschwellenwert ist erreicht.
Ursache: Der Grund hierfür ist, dass der Client auf die Verfügbarkeit der Entitätsmetadaten im ObjectGrid-Server wartet.