Search in sources :

Example 1 with ByteBufferInput

use of org.jboss.marshalling.ByteBufferInput in project wildfly by wildfly.

the class EjbTimerXmlParser_1_0 method deserialize.

private Object deserialize(final String info) throws IOException, ClassNotFoundException {
    byte[] data = Base64.getDecoder().decode(info.trim());
    Unmarshaller unmarshaller = factory.createUnmarshaller(configuration);
    unmarshaller.start(new ByteBufferInput(ByteBuffer.wrap(data)));
    try {
        return unmarshaller.readObject();
    } finally {
        unmarshaller.close();
    }
}
Also used : ByteBufferInput(org.jboss.marshalling.ByteBufferInput) Unmarshaller(org.jboss.marshalling.Unmarshaller)

Example 2 with ByteBufferInput

use of org.jboss.marshalling.ByteBufferInput in project wildfly by wildfly.

the class AbstractPersistentSessionManager method loadSessionAttributes.

@Override
public Map<String, PersistentSession> loadSessionAttributes(String deploymentName, final ClassLoader classLoader) {
    try {
        Unmarshaller unmarshaller = createUnmarshaller();
        try {
            long time = System.currentTimeMillis();
            Map<String, SessionEntry> data = loadSerializedSessions(deploymentName);
            if (data != null) {
                Map<String, PersistentSession> ret = new HashMap<String, PersistentSession>();
                for (Map.Entry<String, SessionEntry> sessionEntry : data.entrySet()) {
                    if (sessionEntry.getValue().expiry.getTime() > time) {
                        Map<String, Object> session = new HashMap<String, Object>();
                        for (Map.Entry<String, byte[]> sessionAttribute : sessionEntry.getValue().data.entrySet()) {
                            unmarshaller.start(new ByteBufferInput(ByteBuffer.wrap(sessionAttribute.getValue())));
                            session.put(sessionAttribute.getKey(), unmarshaller.readObject());
                            unmarshaller.finish();
                        }
                        ret.put(sessionEntry.getKey(), new PersistentSession(sessionEntry.getValue().expiry, session));
                    }
                }
                return ret;
            }
        } finally {
            unmarshaller.close();
        }
    } catch (Exception e) {
        UndertowServletLogger.ROOT_LOGGER.failedtoLoadPersistentSessions(e);
    }
    return null;
}
Also used : HashMap(java.util.HashMap) StartException(org.jboss.msc.service.StartException) IOException(java.io.IOException) ByteBufferInput(org.jboss.marshalling.ByteBufferInput) Unmarshaller(org.jboss.marshalling.Unmarshaller) HashMap(java.util.HashMap) Map(java.util.Map)

Aggregations

ByteBufferInput (org.jboss.marshalling.ByteBufferInput)2 Unmarshaller (org.jboss.marshalling.Unmarshaller)2 IOException (java.io.IOException)1 HashMap (java.util.HashMap)1 Map (java.util.Map)1 StartException (org.jboss.msc.service.StartException)1