Исключение Morphia Mapping: нет пригодного для использования конструктора для org.springframework.security.access.intercept.AbstractSecurityInterceptor - PullRequest
0 голосов
/ 05 сентября 2018

Я использую Morphia для отображения pojos для персистентных операций с MongoDB. Несмотря на то, что соединение с базой данных в порядке, у меня есть ошибки, как показано в stacktrace:

Exception in thread "main" org.mongodb.morphia.mapping.MappingException: No usable constructor for org.springframework.security.access.intercept.AbstractSecurityInterceptor
at org.mongodb.morphia.mapping.DefaultCreator.createInstance(DefaultCreator.java:81)
at org.mongodb.morphia.mapping.DefaultCreator.createInstance(DefaultCreator.java:91)
at org.mongodb.morphia.mapping.Mapper.fromDBObject(Mapper.java:192)
at org.mongodb.morphia.query.MorphiaIterator.convertItem(MorphiaIterator.java:134)
at org.mongodb.morphia.query.MorphiaIterator.processItem(MorphiaIterator.java:146)
at org.mongodb.morphia.query.MorphiaIterator.next(MorphiaIterator.java:117)
at org.mongodb.morphia.query.QueryImpl.asList(QueryImpl.java:147)
at org.mongodb.morphia.query.QueryImpl.asList(QueryImpl.java:139)
at de.hpi.ProcessorMongo.main(ProcessorMongo.java:52)
Caused by: java.lang.InstantiationException
at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:48)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.mongodb.morphia.mapping.DefaultCreator.createInstance(DefaultCreator.java:72)
... 8 more

Вот это POJO:

public class AuditLog {

@Id
private ObjectId  logId;

@JsonProperty("@timestamp")
private String timestamp;
@JsonProperty("deviceId")
private String deviceId;
@JsonProperty("userId")
private String userId;
@JsonProperty("requestId")
private String requestId;
@JsonProperty("operationType")
private String operationType;

@JsonProperty("message")
private String message;
@JsonProperty("serviceName")
private String serviceName;
@JsonProperty("className")
private String className;

Код запроса:

   MongoClient mongoClient = new MongoClient( "x.x.x.x" , 27017 );
   Morphia morphia = new Morphia();     
   morphia.mapPackage("a.b.c");
   final Datastore datastore = morphia.createDatastore(mongoClient, "myDB");
   datastore.getDB(); //.collectionExists("mycollection");
   datastore.ensureIndexes();             

   Query<AuditLog> query = datastore.find(AuditLog.class);
   final List<AuditLog> auditLog = query.asList();

   for (AuditLog logs : auditLog) {

    System.out.println(logs.getClassName() + "  " + logs.getDeviceId());
    }

Я буду признателен за любые указания на то, что может быть проблемой или как непосредственно решить эти проблемы.

...