Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法使用jdbc模板将spring boot与安全Kerberos连接_Java_Spring Boot_Kerberos_Phoenix_Spring Security Kerberos - Fatal编程技术网

Java 无法使用jdbc模板将spring boot与安全Kerberos连接

Java 无法使用jdbc模板将spring boot与安全Kerberos连接,java,spring-boot,kerberos,phoenix,spring-security-kerberos,Java,Spring Boot,Kerberos,Phoenix,Spring Security Kerberos,我正在尝试将kerberos群集与springboot连接,但遇到了一些问题- 这是我的密码- package com.virginvoyages.nbx.phoenix.jdbc.config; import java.io.IOException; import java.util.Properties; import javax.sql.DataSource; import org.springframework.beans.factory.annotation.Value; imp

我正在尝试将kerberos群集与springboot连接,但遇到了一些问题- 这是我的密码-

package com.virginvoyages.nbx.phoenix.jdbc.config;

import java.io.IOException;
import java.util.Properties;

import javax.sql.DataSource;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import org.apache.hadoop.security.UserGroupInformation;
/**
 * Spring JDBC Connection for Phoenix Hbase.
 * 
 * @author mokasara
 *
 */
@ConditionalOnProperty(name = "deployment", havingValue = "ship")
@Configuration
public class PhoenixHbaseJDBCDatasourceShipConnection {

    @Value("${nbx.phoenix.hbase.ship.url}")
    private String nbxHbaseUrl;

    /**
     * Phoenix Datasource Connection Bean.
     * 
     * @return Datasource
     * @throws IOException 
     */
    @Bean
    public DataSource phoenixDataSource() throws IOException {
        DriverManagerDataSource dataSource1 = new DriverManagerDataSource();

        System.setProperty("java.security.krb5.conf", "src/main/resources/krb5.conf");
        org.apache.hadoop.conf.Configuration conf = new org.apache.hadoop.conf.Configuration();
        conf.set("hadoop.security.authentication", "kerberos");
        UserGroupInformation.setConfiguration(conf);
        UserGroupInformation.loginUserFromKeytab("hbase-dev@myhost.com","src/main/resources/hbase.headless.keytab");

        dataSource1.setUsername("username");
        dataSource1.setPassword("password"); 
        dataSource1.setDriverClassName("org.apache.phoenix.jdbc.PhoenixDriver");
        dataSource1.setUrl(nbxHbaseUrl);
        return dataSource1;
    }

    /**
     * Phoenix Hbase JDBC Template Bean.
     * 
     * @param dataSource
     *          - datasource
     * @return JdbcTemplate
     */
    @Bean
    public JdbcTemplate jdbcTemplate(DataSource dataSource) {
        JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
        return jdbcTemplate;
    }

}
我越来越不正常了-

* {“timestamp”:“2019-12-04T17:56:23.118+05:30”,“version”:1,“message”:“CalendarRecommensionDaoImpl方法中发生异常-GetCalendarRecommensions”,“logger_name”:“com.virginovayages.nbx.dao.impl.CalendarDaoSupport”,“thread_name”:“http-nio-8438-exec-1”,“level”:“ERROR”,“level_value”:40000,“stack_trace”:“org.springframework.jdbc.CannotGetJdbcConnectionException:无法获取jdbc连接;嵌套异常为java.sql.SQLException:错误103(08004):无法建立连接。\r\n\tat org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81)\r\n\tat org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:371)\r\n\tat org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:452)\r\n\tat org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:473)\r\n\tat com.virginovayages.nbx.dao.impl.CalendarDaoSupport.GetCalendarRecommensions(CalendarDaoSupport.java:199)\r\n\tat com.virginovayages.nbx.dao.impl.CalendarDaoSupport$$FastClassBySpringCGLIB$$e665c50f.invoke()\r\n\tat org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n\tat org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:749)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceduce(ReflectiveMethodInvocation.java:163)\r\n\tat org.springframework.aop.interceptor.ExposeInvocationInterceptor.invocation(ExposeInvocationInterceptor.java:93)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.procedue(ReflectiveMethodInvocation.java:186)\r\n\tat org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688)\r\n\tat com.virginovayages.nbx.dao.impl.arinventoryHelper$$EnhancerBySpringCGLIB$c7dbe61c.getcalendar建议()\r\n\t com.virginovayages.nbx.assembly.impl.CalendarRecommensionAssemblyImpl.GetCalendarRecommension(CalendarRecommensionAssemblyImpl.java:43)\r\n\t com.virginovayages.nbx.assembly.impl.CalendarRecommensionAssemblyImpl$$FastClassBySpringCGLIB$$BF2AE41.invoke()\r\n\t org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n\tat org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:749)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.procement(ReflectiveMethodInvocation.java:163)\r\n\tat org.springframework.aop.aspectj.aspectjafthrowingadvice.invoke(aspectjafthrowingadvice.java:62)\r\n\t org.springframework.aop.framework.ReflectiveMethodInvocation.proceduce(ReflectiveMethodInvocation.java:186)\r\n\t org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:56)\r\n\t org.springframework.aop.framework.ReflectiveMethodInvocation.procedue(ReflectiveMethodInvocation.java:186)\r\n\t org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:55)\r\n\t org.springframework.aop.framework.ReflectiveMethodInvocation.proceduce(ReflectiveMethodInvocation.java:186)\r\n\t org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:93)\r\n\t org.springframework.aop.framework.ReflectiveMethodInvocation.procement(ReflectiveMethodInvocation.java:186)\r\n\t org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688)\r\n\t com.virginovayages.nbx.assembly.CalendarRecommendationAssemblyImpl$$EnhancerBySpringCGLIB$$6cb4e4b4.getCalendarRecommendations()\r\n\tat com.virginovayages.nbx.calendar.CalendarRecommendationController.calendarRecommendationPost(CalendarRecommendationController.java:90)\r\n\tat com.virginovayages.nbx.calendar.CalendarRecommendationController$$FastClassBySpringCGLIB$$d5e5fde5.invoke()\r\n\tat org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n\tat org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:749)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceduce(ReflectiveMethodInvocation.java:163)\r\n\tat org.springframework.aop.framework.adapter.adapter.MethodBeforeAdviceInterceptor(MethodBeforeAdviceInterceptor.java:56)\r\n\t org.springframework.aop.framework.ReflectiveMethodInvocation.procement(ReflectiveMethodInvocation.java:186)\r\n\t org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:55)\r\n\t org.springframework.aop.framework.ReflectiveMethodInvocation.procedue(ReflectiveMethodInvocation.java:186)\r\n\t org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:93)\r\n\t org.springframework.aop.framework.ReflectiveMethodInvocation.proceduce(ReflectiveMethodInvocation.java:186)\r\n\t org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688)\r\n\t com.virginovayages.nbx.calendar.calendarRecommensionController$$EnhancerBySpringCGLIB$$25ffe737.calendarRecommensionPost()\r\n\t sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n\tat java.lang.reflect.Method.invoke(Method.java:498)\r\n\tat org.springframework.web.Method.Method.support.InvocableHandlerMethod.doInvoke\r\n\t org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)\r\n\t o