Мой сервис для создания Acl выглядит следующим образом:
@Autowired
JdbcMutableAclService aclService;
public void createAcl(AclDTO aclDTO) throws ClassNotFoundException {
ObjectIdentity oi = new ObjectIdentityImpl(getClass().getClassLoader().loadClass(aclDTO.getClassPath()),
aclDTO.getObjectIdentityId());
Sid sid = new PrincipalSid(aclDTO.getSid());
Permission p = getPermission(aclDTO.getPermissionDesc());
// Create or update the relevant ACL
MutableAcl acl = null;
try {
acl = (MutableAcl) this.aclService.readAclById(oi);
} catch (NotFoundException nfe) {
acl = aclService.createAcl(oi);
}
// Now grant some permissions via an access control entry (ACE)
acl.insertAce(acl.getEntries().size(), p, sid, true);
this.aclService.updateAcl(acl);
}
Но, похоже, что-то не так с этим классом, и когда он запускается, я получаю сообщение об ошибке:
2019-02-25 11: 02: 18.410 ОШИБКА 10608 --- [XNIO-2 task-1] cssacl.aop.logging.LoggingAspect: Исключение в com.spring.security.acl.service.AccessGrantService.createAcl () с причиной= 'com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: PROCEDURE security_acl.identity не существует' и исключение = 'StatementCallback;плохая грамматика SQL [call identity ()];вложенным исключением является com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: PROCEDURE security_acl.identity не существует '
org.springframework.jdbc.BadSqlGrammarException: StatementCallback;плохая грамматика SQL [call identity ()];Вложенное исключение - com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: PROCEDURE security_acl.identity не существует в org.springframework.jdbc.support.SQLExceptionSubclassTranslator.doTranslate.raj.jp.AbstractFallbackSQLExceptionTranslator.translate (AbstractFallbackSQLExceptionTranslator.java:72) в org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate (AbstractFallbackSQLExceptionTranslator.jjjtt.jt.jt_jt_tjp_cd_cr_cr_cr ).tjt_tjt_tjtctr).springframework.jdbc.core..java: 456) в org.springframework.jdbc.core.JdbcTemplate.queryForObject (JdbcTemplate.java:467) в org.springframework.jdbc.core.JdbcTemplate.queryForObject (JdbcTemplate.j) или jdbcTemplate.jg.springframework.security.acls.jdbc.JdbcMutableAclService.createOrRetrieveSidPrimaryKey (JdbcMutableAclService.java:262) при org.springframework.security.acls.jdbc.JdbcMutableAclService.createOrRetrieveSidPrimaryKey (JdbcMutableAclService.java:237) при org.springframework.security.acls.jdbc.JdbcMutableAclService.createObjectIdentity (JdbcMutableAclService.java:171) в org.springframework.security.acls.jdbc.JdbcMutableAclService.createAcl (JDB). Служба сервиса.Java: 37) в com.spring.security.acl.service.AccessGrantService $$ FastClassBySpringCGLIB $$ 8f8e3af4.invoke () в org.springframework.cglib.proxy.MethodProxy.invoke (MethodProxy.javawork.sprf или org.prof. orf. at.aop.framework.CglibAopProxy $ CglibMethodInvocation.invokeJoinpoint (CglibAopProxy.java:746) в org.springframework.aop.framework.vocationProceedingJoinPoint.proceed (MethodInvocationProceedingJoinPoint.java:88) в com.spring.security.acl.aop.logging.LoggingAspect.logAround (LoggingAspect.java:85) в sun.reflect.NativeMethodAccessorImpl.invoke0).NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) в sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) в java.lang.reflect.Method.jpg.jpg.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs (AbstractAspectJAdvice.java:644) в org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod (AbstractAspectJAdvice.java:633.Adj.jjj.jpg) .jpgorg.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:185) в org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke (AspectJAfterThrowingAdvice)в org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:185) в org.springframework.transaction.interceptor.TransactionAspectSupport. invoke(TransactionInterceptor.java:98) в org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:185) в org.springframework.aop.interceptor.ExposeInvocationInc.aop.framework.$$ 802d4181.createAcl () на com.spring.security.acl.web.rest.AclResource.updateAcl (AclResource.java:24) на com.spring.security.acl.web.rest.AclResource $$ FastClassBySpringCGLIB $$ bf5f9ed6.invoke () в org.springframework.cglib.proxy.MethodProxy.invoke (MethodProxy.java:204) в org.springframework.: 746) в org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:163) в org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.Jococ.aop.logging.DelegatingMethodAccessorImpl.java:43) в java.lang.reflect.Method.invoke (Method.java:497) в org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs (AbstractAspect.aa.64)spectj.AbstractAspectJAdvice.invokeAdviceMethod (AbstractAspectJAdvice.java:633) в org.springframework.aop.aspectj.AspectJAroundAdvice.invoke (AspectJAroundAdvice.java:70) в org.springframework.aop.fine.jpgв org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke (AspectJAfterThrowingAdvice.java:62) в org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInococ.(ExposeInvocationInterceptor.java:92) в org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:185) в org.springframework.aop.framework.Copli.Ajj.spring.security.acl.web.rest.AclResource $$ EnhancerBySpringCGLIB $$ 8e0281d5.updateAcl () в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) в sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) в java.lang.reflect.Method.hobe.j.web.in.support.InvocableHandlerMethod..invokeAndHandle (ServletInvocableHandlerMethod.java:102) в org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod (RequestMappingHandlerAdapter.java:89)в org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal (RequestMappingHandlerAdapter.java:797) в org.springframework.web.servlet.mvc.method.AbstractHandlerMethog.springframework.web.servlet.DispatcherServlet..java: 981) по адресу org.springframework.web.servlet.FrameworkServlet.doPost (FrameworkServlet.java:884) по адресу javax.servlet.http.HttpServlet.service (HttpServlet.java:707) по адресу org.springbrame.web.FrameworkServlet.service (FrameworkServlet.java:858) по адресу javax.servlet.http.HttpServlet.service (HttpServlet.java:790) по адресу io.undertow.servlet.handlers.ServletHandler.handleRequest (ServletHandler.java:o.74).servlet.handlers.FilterHandler $ FilterChainImpl.doFilter (FilterHandler.java:129) в org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:101) в io.undertow.servlet.core.ManagedFilter.doFilter (ManagedFilter.jletunderto at io.handlers.FilterHandler $ FilterChainImpl.doFilter (FilterHandler.java:131) в org.springframework.boot.actuate.web.trace.servlet.HttpTraceFilter.doFilterInternal (HttpTraceFilter.java:90) forf..doFilter (OncePerRequestFilter.java:107) в io.undertow.servlet.core.ManagedFilter.doFilter (ManagedFilter.java:61) в io.undertow.servlet.handlers.FilterHandler $ FilterChainImpl.doFilter в FilterHandler: FilterHandorg.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:320) в org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke (Filter.jurityFine.ServiceInpr.web.access.intercept.FilterSecurityInterceptor.doFilter (FilterSecurityInterceptor.java:91) в org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:334) в org.springframework.security.web.access.ExceptionTranslationFilter.doFilter: org (atception) (исключение )9.springframework.security.web.$ VirtualFilterChain.doFilter (FilterChainProxy.java:334) в org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter (AnonymousAuthenticationFilter.java:111) в org.springframework.secilhaj.Filter.Filter.Filter.Filter.FilterFF: 334) в org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter (SecurityContextHolderAwareRequestFilter.java:170) в org.springframework.security.web.FilterChainProxy $irtualFilterChain.doFilter (FilterChainProxy.java:334) в org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter (RequestCacheAwareFilter.java:63) в org.springframework.Prohaf.Filter.FilterFCF334) по адресу com.spring.security.acl.security.jwt.JWTFilter.doFilter (JWTFilter.java:38) по адресу org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.jworkgpr) или 33).web.filter.CorsFilter..java: 334)по адресу org.springframework.security.web.authentication.logout.LogoutFilter.doFilter (LogoutFilter.java:116) по адресу org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.prg.meg.rag..web.header.HeaderWriterFilter..java: 334.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal (WebAsyncManagerIntegrationFilter.java:56) по адресу org.springframework.web.filter.OncePerRequestFilter.ilFerquate.Filter7) в org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:334) в org.springframework.security.web.FilterChainProxy.doFilterInternal (FilterChainProxy.wef.raf.rag.weg.rag.weg.weg..FilterChainProxy.doFilter (FilterChainProxy.java:178) в org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate (DelegatingFilterProxy.java:357) в org.springframework.web.filter.DProxyFilter (io.undertow.servlet.core.ManagedFilter.doFilter (ManagedFilter.java:61) в io.undertow.servlet.handlers.FilterHandler $ FilterChainImpl.doFilter (FilterHandler.java:131) в org.springframework.wext.doFilterInternal (RequestContextFilter.java:99) в org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:107) в io.undertow.servlet.core.ManagedFilter.doFundertoj.agedFid.servlet.handlers.FilterHandler $ FilterChainImpl.doFilter (FilterHandler.java:131) по адресу org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal (HttpPutFormContentFilter.java:109) по адресу org.springframework.web.filter.OncePilter.servlet.core.ManagedFilter..java: 93) в org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:107) в io.undertow.servlet.core.ManagedFilter.doFilter (ManagedFilter.java:61wserv).Обработчикиweb.servlet.WebMvcMetricsFilter.doFilterInternal (ВтebMvcMetricsFilter.java:106) в org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:107) в io.undertow.servlet.core..handlers.: 107) в io.undertow.servlet.core.ManagedFilter.doFilter (ManagedFilter.java:61) в io.undertow.servlet.handlers.FilterHandler $ FilterChainImpl.doFilter (FilterHandler.java:131) в io.undertow.servlet.handlers.FilterHandler.handleRequest (FilterHandler.java:84)по адресу io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest (ServletSecurityRoleHandler.java:62) по адресу io.undertow.servlet.handlers.ServletChain $ 1.handleRequest (ServletChain.jlet:underto).ServletDispatchingHandler.handleRequest (ServletDispatchingHandler.java:36) по адресу io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest (SSLInformationAssociationHandler.java:1est)57) в io.undertow.server.handlers.PredicateHandler.handleRequest (PredicateHandler.java:43) в io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest (AbstractConfidentialityHandler.java:46) в io.under.ServletConfidentialityConstraintHandler.handleRequest (ServletConfidentialityConstraintHandler.java:64) в io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest (AuthenticationMechanismsHandler.java:60) в io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest (CachedAuthenticatedSessionHandler.java:77) в io.undertow.security.handlers.Abest.wj).server.handlers.PredicateHandler.handleRequest (PredicateHandler.java:43) в io.undertow.server.handlers.PredicateHandler.handleRequest (PredicateHandler.java:43) в io.undertow.servlet.handlersReestReHellingHand: 119) в io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest (ServletInitialHandler.java:292) в io.undertow.servlet.handlers.ServletInitialHandler.access $ 100 (ServletInitialHandler.serv.oava: 81):.ServletInitialHandler $ 2.call (ServletInitialHandler.java:138) в io.undertow.servlet.handlers.ServletInitialHandler $ 2.call (ServletInitialHandler.java:135) в io.undertow.servlet.core.ServletRequestContextThreadSetupAction $ 1.call (ServletRequestContextThreadSetupAction.java:48) по адресу io.undertow.servlet.core.ContextClassLoaderSetupAction $ 1.call (ContextClassLoaderSetupAction.jandishIlerShlet): 272) в io.undertow.servlet.handlers.ServletInitialHandler.access $ 000 (ServletInitialHandler.java:81) в io.undertow.servlet.handlers.ServletInitialHandler $ 1.handleRequest (ServletInitialHandler.javaoto. 10)Connectors.executeRootHandler (Connectors.java:336) в io.undertow.server.HttpServerExchange $ 1.run (HttpServerExchange.java:830) в java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecuj).concurrent.существуют на sun.reflect.NativeConstructorAccessorImpl.newInstance0 (собственный метод) в sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:62) в sun.reflect.DelegatingConstructorAccessorImpl.newInst.av.avl.Java: 422) в com.mysql.jdbc.Util.handleNewInstance (Util.java:425) в com.mysql.jdbc.Util.getInstance (Util.java:408) в com.mysql.jdbc.SQLError.createSQLException (SQLError.java: 944) по адресу com.mysql.jdbc.MysqlIO.checkErrorPacket (MysqlIO.java:3978) по адресу com.mysql.jdbc.MysqlIO.checkErrorPacket (MysqlIO.java:3914) по адресу com.mysql.jlIO.SysMysqlIO.java:2530) на com.mysql.jdbc.MysqlIO.sqlQueryDirect (MysqlIO.java:2683)в com.mysql.jdbc.ConnectionImpl.execSQL (ConnectionImpl.java:2491) в com.mysql.jdbc.ConnectionImpl.execSQL (ConnectionImpl.java:2449) в com.mysql.jdbc.StatementImpl.executeQuery (StatementImpl.java:) at com.zaxxer.hikari.pool.ProxyStatement.executeQuery (ProxyStatement.java:111) по адресу com.zaxxer.hikari.pool.HikariProxyStatement.executeQuery (HikariProxyStatement.java) по адресу org.springframeworkmentJjcbdoInStatement (JdbcTemplate.java:433) в org.springframework.jdbc.core.JdbcTemplate.execute (JdbcTemplate.java:376) ... 164 опущенных общих кадра
Я буду признателен, если кто-то сможетпомоги мне разобраться с этим!