我想用Dropwizard实现@Auditable。哪一个将创建* _audit表,并将详细信息与Revinfo表一起存储?
我正在将Dropwizard与Liquibase一起使用。
我在实体上添加了@Auditable
@Entity
@Table(name = "user_plan")
@Audited
public class UserPlan extends IdentityEntity
Run Code Online (Sandbox Code Playgroud)
并尝试更新抛出错误的表
! java.lang.AbstractMethodError: org.hibernate.envers.internal.synchronization.AuditProcessManager$2.doAfterTransactionCompletion(ZLorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
! at org.hibernate.engine.spi.ActionQueue$AfterTransactionCompletionProcessQueue.afterTransactionCompletion(ActionQueue.java:975)
! at org.hibernate.engine.spi.ActionQueue.afterTransactionCompletion(ActionQueue.java:509)
! at org.hibernate.internal.SessionImpl.afterTransactionCompletion(SessionImpl.java:2472)
! at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.afterTransactionCompletion(JdbcCoordinatorImpl.java:479)
! at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.afterCompletionCallback(JdbcResourceLocalTransactionCoordinatorImpl.java:176)
! at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.access$200(JdbcResourceLocalTransactionCoordinatorImpl.java:38)
! at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.rollback(JdbcResourceLocalTransactionCoordinatorImpl.java:252)
! at org.hibernate.engine.transaction.internal.TransactionImpl.rollback(TransactionImpl.java:100)
! at io.dropwizard.hibernate.UnitOfWorkAspect.rollbackTransaction(UnitOfWorkAspect.java:144)
! at io.dropwizard.hibernate.UnitOfWorkAspect.onError(UnitOfWorkAspect.java:106)
! at io.dropwizard.hibernate.UnitOfWorkApplicationListener$UnitOfWorkEventListener.onEvent(UnitOfWorkApplicationListener.java:85)
! at org.glassfish.jersey.server.internal.monitoring.CompositeRequestEventListener.onEvent(CompositeRequestEventListener.java:71)
! at org.glassfish.jersey.server.internal.process.RequestProcessingContext.triggerEvent(RequestProcessingContext.java:226)
! at org.glassfish.jersey.server.ServerRuntime$Responder.process(ServerRuntime.java:472)
! at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:334)
! at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
! at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
! at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
! at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
! at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
! at …Run Code Online (Sandbox Code Playgroud) 我在 Java 中使用 sendgrid 电子邮件。我正在尝试发送多个附件,但不知何故电子邮件丢失了 1 或 2 个文件。有时,所有附件都被发送。我也检查了状态码。每次都是202。这是不可预测的行为。谁能指出我是否遗漏了什么。
import com.sendgrid.*;
import com.sendgrid.Attachments.Builder;
import org.apache.commons.lang3.StringUtils;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import java.io.*;
import java.util.List;
public class SendGridUtils {
private InputStream fileContent;
private List<File> files;
public boolean sendEmail() {
try {
String sendTo="sento@gmail.com";
String subject="some_subject";
String body="some_body";
String sendGridAPIKey = "some_key";
String fromEmail = "from@gmail.com";
String emailTitle = "some_title";
files.add(new File("abc.png"));
files.add(new File("xyz.png"));
files.add(new File("pqr.png"));
files.add(new File("rty.png"));
files.add(new File("ghj.png"));
Email from = new Email(fromEmail, emailTitle);
Email to = new Email(sendTo);
Content content …Run Code Online (Sandbox Code Playgroud)