小编Ira*_*kli的帖子

审核属性更改 - Spring MVC + JPA

我有一个班级客户.我希望能够审计这个类的属性的变化(不是整个类 - 只是它的属性).

public class Client {
private Long id;
private String firstName;
private String lastName;
private String email;
private String mobileNumber;
private Branch companyBranch;
Run Code Online (Sandbox Code Playgroud)

实际上,使用@Audited注释审核整个实体非常容易.

但我想要的是使用我的类结构审核这些更改.

这是我想要的结果类:

public class Action {
private String fieldName;
private String oldValue;
private String newValue;
private String action;
private Long modifiedBy;
private Date changeDate;
private Long clientID;
Run Code Online (Sandbox Code Playgroud)

结果应如下所示:

fieldName +"已从"+ oldValue +"更改为"+ newValue +","clientID +"更改为"modifiedBy;

  • 乔治的比尔盖茨将mobileNumber从555改为999.

我这样做的原因是我需要将这些更改存储到Action表下的DB中 - 因为我将来自不同实体的审核属性,我想将它们存储在一起,然后有能力在需要时获取它们.

我怎样才能做到这一点?

谢谢

java spring jpa audit-logging

11
推荐指数
1
解决办法
2024
查看次数

HTTP 状态 500 - 处理程序处理失败;嵌套异常是java.lang.NoClassDefFoundError:

我正在尝试将外部 jar 文件集成到我的项目中。(mambu-models-V3.8.10.jar)

但我收到这样的错误消息:

HTTP Status 500 - Handler processing failed; nested exception is java.lang.NoClassDefFoundError: com/mambu/loans/shared/model/LoanAccount    


org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoClassDefFoundError: com/mambu/loans/shared/model/LoanAccount
org.springframework.web.servlet.DispatcherServlet.triggerAfterCompletionWithError(DispatcherServlet.java:1287)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:961)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857)
javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)    
Run Code Online (Sandbox Code Playgroud)

根本原因:

java.lang.ClassNotFoundException: com.mambu.loans.shared.model.LoanAccount
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
java.lang.Class.getDeclaredMethods0(Native Method)
java.lang.Class.privateGetDeclaredMethods(Class.java:2688)
java.lang.Class.getDeclaredMethods(Class.java:1962)
com.google.inject.spi.InjectionPoint.getInjectionPoints(InjectionPoint.java:662)
com.google.inject.spi.InjectionPoint.forInstanceMethodsAndFields(InjectionPoint.java:356)
com.google.inject.internal.ConstructorBindingImpl.getInternalDependencies(ConstructorBindingImpl.java:151)
com.google.inject.internal.InjectorImpl.getInternalDependencies(InjectorImpl.java:585)
com.google.inject.internal.InjectorImpl.cleanup(InjectorImpl.java:543)
com.google.inject.internal.InjectorImpl.initializeJitBinding(InjectorImpl.java:529)
com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:847)
com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:772)
com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:256)
com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:205)
com.google.inject.internal.InjectorImpl.getInternalFactory(InjectorImpl.java:853)
com.google.inject.internal.InjectorImpl.getProviderOrThrow(InjectorImpl.java:967)
com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1000)
com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:961)
com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1013)
com.mambu.apisdk.MambuAPIFactory.getLoanService(MambuAPIFactory.java:86)
comm.app.starter.HomeController.Opaaaaana(HomeController.java:167)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:483)
org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:781)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:721)
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:943)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857)
javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)    
Run Code Online (Sandbox Code Playgroud)

这是我的 …

java spring tomcat noclassdeffounderror maven

5
推荐指数
1
解决办法
5万
查看次数

Tomcat 8 ERR_SSL_VERSION_OR_CIPHER_MISMATCH

我从ssl2buy购买了通配符SSL.将它安装在我的Tomcat 8 - server 2012服务器上,运行我的Java应用程序.在我安装证书后,我收到了以下错误消息:ERR_SSL_VERSION_OR_CIPHER_MISMATCH

支持我:

"密码和协议问题与SSL证书无关,它与协议和密码设置无关.您应该更新正确的密码安全设置."

在告诉我这个支持离线后,我打开的机票没有回答:D所以也许这里有人能够帮助我.

这个步骤我用来创建jks文件:

keytool -genkey -alias ge.shemo -keyalg RSA -keystore shemo_wildcard

keytool -certreq -keyalg RSA -alias ge.shemo -file irakli.csr -keystore shemo_wildcard

keytool -importcert -file shemo_Wildcart.cer -keystore shemo_wildCard.jks -alias "ge.shemo"
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我我做错了什么吗?或者我需要改变什么?

更新

我从一开始就开始了所有事情:

以下是我遵循的步骤.

  1. 从ssl2buy.com购买证书

  2. 生成的csr:

    keytool -keysize 3096 -genkey -alias *.shemo.ge -keyalg RSA -keystore tomcat8.keystore
    
    Run Code Online (Sandbox Code Playgroud)

传球:TesT123

keytool -certreq -keyalg RSA -alias *.shemo.ge -file tomcat8.csr -keystore tomcat8.keystore
Run Code Online (Sandbox Code Playgroud)

生成的csr:

-----BEGIN NEW CERTIFICATE REQUEST-----
MIID4TCCAkYCAQAwZjELMAkGA1UEBhMCR0UxEDAOBgNVBAgTB3RiaWxpc2kxEDAOBgNVBAcTB3Ri
aWxpc2kxDjAMBgNVBAoTBXNoZW1vMQ4wDAYDVQQLEwVzaGVtbzETMBEGA1UEAwwKKi5zaGVtby5n
ZTCCAaUwDQYJKoZIhvcNAQEBBQADggGSADCCAY0CggGEAODEEKcJJ7AccanmeIIpAAG2ES6hCAIM
eiFe7WfJtFydDvGAUS9DhKpwW1CtYT3i0vhmbYZxxGc5FK9bHYtHwPtV/Yhptqi+xzk1eFkZxcvo
7dLNQGo73PfqPE1ikHrlyTffYB+/JEbBglxsem3tfjPpnb+SoiJ4sq5RFNB/Zm45etnlpdEnsRxC
dAEIUXzCaCnfR6nB5547BMOqmqTJxwB/BRoYLDmZoloJ/PsPTMIruKo7SzMQAkCLZ0J+S24Ihfei
95Y7n5XRxYdWOKBS5LUWJXpWEkiGmfP0ombV0l7YW2Fb/nJEjASLSNSliTE2yXRV4P8lT2BZbVL6
8O5UMCexD6Xa33n4HMn94ZsfnQuZSHF0YWYK9No6Cs2Tc9F0OR3dQlOj1Xht9Q5vmg/6B/ooRaJB
XmyJRPAxOe1WGzsr2ElbGu7CS9XMVY7VU+5fi3ojRbU1m0d7gLG6QEmuaR7Ti+wT28LUL44ezVtY
bOGW3peXxgw/SKm18D4ue+ArWTgwFQIDAQABoDAwLgYJKoZIhvcNAQkOMSEwHzAdBgNVHQ4EFgQU
BDAEJE34muDqTKxiUm30R+ZJW8cwDQYJKoZIhvcNAQELBQADggGEAHmu5dxjHgyh2BwDuqTN7l5t
oa+lQBQxDZBtZpduAulm3a2Dt8qELy3VF3IZLa2bWrG/91zoZWJCgCLva9uq7Yq9aUtJau0CebnJ
eWZ2XjiwJ/6ZvO12Y9Nc9oISFF9mswdXLOm7EHAXVfttRG4itgsNnTVziX2nynQPwN/1k9F4MysD …
Run Code Online (Sandbox Code Playgroud)

java ssl

3
推荐指数
1
解决办法
8645
查看次数

无法提交JPA事务 - RollbackException:事务标记为rollbackOnly

首先,我想说我已经在我的案例中看到了stackoverflow的所有主题,但无论如何都无法解决我的问题.

我需要每晚运行预定的任务来检查任务完成的天气 - 我这样做:

@Service
@Transactional
public class CronBackGroundProcess {

@Autowired
private CronJobService cronJobService;

@Scheduled(cron = "15 01 01 ? * *")
public void StartNightJob() {
    CronJobLog log = new CronJobLog();
    int count = 0;
    try {
        log.setStartTime(new Date());
        log.setStatus("Entered StartNightJob Function");
        cronJobService.saveCronJobLog(log);

        List<Task> Tasks = cronJobService.getActive_AND_InArreasTasks();
        log.setStatus("Grabbed List of tasks to Check");
        cronJobService.saveCronJobLog(log);

        for (Task Task : Tasks) {
            cronJobService.StartNightJobProcess(Task, true);
            count++;
        }
    } catch (Exception e) {
        CronJobLog log2 = new CronJobLog();
        log2.setStatus("Error Occurred " + new Date().toString() …
Run Code Online (Sandbox Code Playgroud)

java spring jpa

2
推荐指数
1
解决办法
1万
查看次数

审核实体JPA中的更改

我有Spring MVC + JPA应用程序.

我在申请中有几个实体在不断变化.我希望能够审核这些变化.我发现有一个@Audited注释可以跟踪某些字段或整个实体的更改.我想知道是否有任何方法可以配置此跟踪选项 - 我希望能够跟踪更改内容以及更改者.还可以从SQL中的1个表中的多个实体进行更改吗?还可以跟踪@OneToMany实体中的字段的变化吗?

谢谢

java spring jpa

2
推荐指数
1
解决办法
6983
查看次数

解析具有未知值的JSON

我有一些功能,我收到这样的JSON:

String sorting ->>  {"state":"desc"}
String filter  ->> {"clientID":"XML"}
Run Code Online (Sandbox Code Playgroud)

内在的所有价值总是不同的.我怎样才能获得关键和价值JSON

让我们说:

KEYsorting =state , Valuesorting  = desc 
KEYfilter =clientID, Valuefilter  = XML
Run Code Online (Sandbox Code Playgroud)

我搜索了很多 - 包括这个网站 - 但无法处理它.我想这不是很难,我无法做到这一点.请帮忙

java json

0
推荐指数
1
解决办法
900
查看次数

JAVA FX + Javascript

我从未使用过JavaFX,但是现在我需要编写一个嵌入浏览器的小应用程序,我需要将一些数据传递给浏览器并从浏览器中获取一些数据.正如我所读到的,我需要JavaScript作为交换数据的桥梁.我尝试了很多像这样的例子:

http://knowles.co.za/javafx-and-javascript-calling-java-from-javascript/

http://www.java2s.com/Code/Java/JavaFX/WebEngineLoadListener.htm

但我无法做任何事情.

有人能给我举例吗?

javascript java javafx

0
推荐指数
1
解决办法
4681
查看次数