-
Spring Boot AWT异常
```java.awt.HeadlessException:nullatjava.desktop/java.awt.TrayIcon.(TrayIcon.java:142)atjava.desktop/java.awt.TrayIcon.(TrayIcon.java:169)atjava.desktop/java.awt.TrayIcon.(TrayIcon.java:198)atacgist.killer/com.acgist.killer.window.menu.TrayMenu.enableTray(TrayMenu.java:137)atacgist.killer/com.acgist.killer.window.menu.TrayMenu.(TrayMenu.java:49)atacgist.killer/com.acgist.killer.window.menu.TrayMenu.getInstance(TrayMenu.java:41)atacgist.killer/com.acgist.killer.window.main.MainWindow.enableTray(MainWindow.ja...
Spring Boot AWT -
京东联盟签名算法
京东联盟(`union.jd.com`)的开放平台(`union.jd.com/openplatform`)的API是不需要授权的,所以可以不用获取`Accesstoken`直接使用。平台提供的SDK不支持Java11,所以只能自己反编译得到签名算法:```javaprivateStringsign(Mapdata){StringBuilderbuilder=newStringBuilder(secretkey);for(Map.Entryentry:data.entrySet()){Stringname=(String)entry.getKey();Stringvalue=(String)entry.getValue();if(StringUtils.isNotEmpty(name)&&StringUtils.isNotEmpty(value)){builder.append(name).append(value);}}builder.append(secretkey);returnDigestUtils.md5Hex(builder.toString()).toUpperCase();}`...
京东联盟 签名算法 -
Hadoop 50070端口打不开
昨天重装了Win10系统,然后发现虚拟机的备份直接拷出来是没有效果的,然后重装了我的Hadoop集群后,发现50070端口不能访问。后来发现原来需要初始化数据节点:```hadoopnamenode-formathadoopdatanode-format```执行之后重启就OK了。
Hadoop -
Sprak streaming问题总结
如果是缺少class:```18/12/1116:24:29ERRORExecutor:Exceptionintask0.0instage0.0(TID0)java.lang.ClassNotFoundException:org.apache.spark.streaming.kafka010.KafkaRDDPartitionatjava.net.URLClassLoader.findClass(URLClassLoader.java:381)atjava.lang.ClassLoader.loadClass(ClassLoader.java:424)atjava.lang.ClassLoader.loadClass(ClassLoader.java:357)atjava.lang.Class.forName0(NativeMethod)atjava.lang.Class.forName(Class.java:348)```设置`conf.setJars`,注意这里需要将jar放入到集群能够访问的地方,例如:`hdfs`:```conf.setJars(newString[]{"hdfs://master:9...
Spark Streaming kafka -
Sprak集群无法访问driver问题
在学习Spark中,遇到一个问题:```SparkExecutorCommand:"/home/jdk-11.0.1/bin/java""-cp""/home/spark-2.4.0-bin-hadoop2.7/conf/:/home/spark-2.4.0-bin-hadoop2.7/jars/*:/home/hadoop-2.7.7/etc/hadoop/""-Xmx1024M""-Dspark.driver.port=55368""org.apache.spark.executor.CoarseGrainedExecutorBackend""--driver-url""spark://CoarseGrainedScheduler@windows10.microdone.cn:55368""--executor-id""8""--hostname""192.168.1.224""--cores""2""--app-id""app-20181211160614-0006""--worker-url""spark://Worker@192.168.1.224:45243"===================...
Spark -
Spring Boot Redis Session问题
使用`redis`来共享`session`,其中容易出现一个问题就是:如果两个不同的项目选择了同一个`redis`数据库,如果`session`里面保存了不同的Java对象,反序列化就会出现`ClassNotFoundException`这个异常。解决办法有两种:1.使用不同的`session`数据库。2.使用不同的`cookie`名称。不过第一种,能解决`ClassNotFoundException`问题,但是由于`session`名称是一样的,那么就导致两个项目只能登陆一个,而不能同时登陆。
Spring Boot Redis Session -
Spring Boot使用redis
添加依赖:```xmlorg.springframework.bootspring-boot-starter-data-redis```redis配置:```spring.redis.host=127.0.0.1spring.redis.port=6379spring.redis.database=0```如果我们不添加`redis`配置,默认提供的是一个`RedisTemplate`工具,我们可以自己实现一个配置:```javapackagecom.api.core.config;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;importorg.springframework.data.redis.connection.RedisConnectionFactory;importorg.springframework.data.redi...
Spring Boot Spring Cloud redis -
Srping Boot使用redis缓存
引入依赖:```xmlorg.springframework.bootspring-boot-starter-data-redis```redis配置:```spring.redis.host=127.0.0.1spring.redis.port=6379spring.redis.database=0```然后配置缓存`CacheManager`:```javapackagecom.api.core.config;importjava.time.Duration;importjava.util.HashMap;importjava.util.HashSet;importjava.util.Map;importjava.util.Set;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importorg.springframework.cache.CacheManager;importorg.springframework.cache.interceptor.KeyGenerator;importorg.springframework.cache.int...
Spring Boot Spring Cloud redis -
Spring Cloud监控页面打不开
之前没有使用`rabbit`来收集熔断器的信息时,没有问题,后来整合以后,发现了一个问题就是`zipkin`和`hystrix`页面一直打不开,看了一下控制台发现资源文件一直处于加载中。仔细一看请求返回的类型居然是:`text/event-stream`。然后访问了一下映射端点`/actuator/mappings`,发现映射的`controller`为`TurbineController`。下面是源码:```java@RestControllerpublicclassTurbineController{privatestaticfinalLoglog=LogFactory.getLog(TurbineController.class);privatefinalFluxflux;publicTurbineController(PublishSubject>hystrixSubject){Observable>stream=StreamAggregator.aggregateGroupedStreams(hystrixSubject.groupBy(data->InstanceKey.crea...
Spring Cloud Turbine -
CSRF CORS学习
##CORS说到跨域,我想很多程序员都遇到过。跨域简单来说就是在一个页面上发起一个请求,这个请求的域名、端口或者协议不同时就会出现跨域问题。常见的加载静态资源的标签浏览器默认允许跨域(HTTP协议页面不能加载HTTPS的资源):script、link、iframe、img。ajax请求会严格的审核跨域信息。##CSRF跨站攻击,这个东西,说简单一点就是网站A直接跳转到网站B,对于用户浏览器来说,跳转过去时会携带用户在网站B上面的cookie、session等信息,这样可以达到用户在B网站操作的效果。比如:添加购物车、支付等。这个解决办法:1.验证请求发起页面。2.对于请求添加一个token验证。如果以前网站,设置了运行跨域请求,同时运行携带验证信息,那么可能就会出现,如果用户浏览器存在网站B的登陆信息,网站A,可以不用跳转到网站B,直接使用ajax就可以实现用户在网站B上面进行操作。还有一个叫做XSS攻击,这个就是跨站脚本,常见比如BBS,用户提交帖子里面含有一段JS代码,其他用户浏览时就会执行这个JS代码。解决办法过滤掉这些代码即可。
CSRF CORS XSS -
Spring Cloud发送POST请求时提示403
引入了`spring-boot-starter-security`依赖后,配置了通过所有请求,GET请求正常,但是POST请求被拦截,提示`403`。这时需要添加`.csrf().disable()`这段代码,来禁用`csrf`拦截:```java@Overrideprotectedvoidconfigure(HttpSecuritysecurity)throwsException{security.csrf().disable()//解决POST请求403错误.authorizeRequests()//.requestMatchers(EndpointRequest.toAnyEndpoint()).denyAll()//.requestMatchers(EndpointRequest.toAnyEndpoint()).access("hasIpAddress('0:0::/112')orhasIpAddress('192.168.1.0/24')")//.antMatchers("/actuator/**").denyAll()//.antMatchers("/actuator/**").access("...
Spring Cloud Security -
Spring Cloud日志异常
启动异常:```Exceptioninthread"main"java.lang.IllegalArgumentException:LoggerFactoryisnotaLogbackLoggerContextbutLogbackisontheclasspath.EitherremoveLogbackorthecompetingimplementation(classorg.apache.logging.slf4j.Log4jLoggerFactoryloadedfromfile:/C:/Users/Administrator/.m2/repository/org/apache/logging/log4j/log4j-slf4j-impl/2.10.0/log4j-slf4j-impl-2.10.0.jar).IfyouareusingWebLogicyouwillneedtoadd'org.slf4j'toprefer-application-packagesinWEB-INF/weblogic.xml:org.apache.logging.slf4j.Log4jLoggerFactoryatorg.spr...
Spring Cloud -
hystrix配合turbine使用消息队列收集信息
使用的是SpringCloud2.0。使用`turbine`聚合`hystrix`监控信息,默认使用`turbine`通过`hystrix.stream`获取`hystrix`的信息,依赖:```xmlorg.springframework.cloudspring-cloud-starter-netflix-turbineorg.springframework.cloudspring-cloud-starter-netflix-hystrix```如果使用`stream`来聚合,需要加入`stream`和`stream`的`binder`(`spring-cloud-stream-binder-rabbit`):```xmlorg.springframework.cloudspring-cloud-starter-netflix-turbine-streamorg.springframework.cloudspring-cloud-starter-netflix-hystrixorg.springframework.cloudspring-cloud-netflix-hystrix-stream```prop...
Spring Cloud hystrix turbine -
Spring Cloud 2.0 zipkin无效
使用SpringCloud2.0,配置了zipkin后发现并没有发送数据到zipkinserver。原来需要配置数据发送的方法:```spring.zipkin.sender.type=web```项目参考:[https://gitee.com/acgist/api](https://gitee.com/acgist/api)
zipkin Spring Cloud -
Spring Boot测试时@PropertySource加载不到文件异常
项目启动时没有问题,但是测试时提示:```Causedby:org.springframework.beans.factory.BeanDefinitionStoreException:Failedtoparseconfigurationclass[com.acgist.main.ApiServiceOrderApplication];nestedexceptionisjava.io.FileNotFoundException:CouldnotopenServletContextresource[/c3p0.properties]atorg.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:184)atorg.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java...
Spring Boot @PropertySource -
Spring Boot打包后不能访问Freemarker
我将Freemarker模板打包到jar里面,其他项目引用后不能访问模板,提示:```FreeMarkertemplateerror(DEBUGmode;useRETHROWinproduction!):Templateinclusionfailed(forparametervalue"/include/resources.ftl"):Templatenotfoundforname"/include/resources.ftl".ThenamewasinterpretedbythisTemplateLoader:MultiTemplateLoader(loader1=FileTemplateLoader(baseDir="E:\gitee\api\api-service\api-service-www\target\classes\templates",canonicalBasePath="E:\gitee\api\api-service\api-service-www\target\classes\templates\"),loader2=ClassTemplateLoader(resourceLoader...
Spring Boot Freemarker -
VirtualBox安装deepin一直加载安装界面
我是使用虚拟光驱加载的ISO文件,所以安装完成后重启发现又进入到安装界面。这个时候我们只需要在**设备-分配光驱**这个选项里面弹出光驱就可以了,然后重启就可以进入到登陆页面了。
deepin VirtualBox -
Eclipse插件
Subclipse:[https://github.com/subclipse/subclipse](https://github.com/subclipse/subclipse)jBoss:[http://download.jboss.org/jbosstools/updates/development/](http://download.jboss.org/jbosstools/updates/development/)Freemarker:[http://download.jboss.org/jbosstools/updates/](http://download.jboss.org/jbosstools/updates/)P3C:[https://p3c.alibaba.com/plugin/eclipse/update](https://p3c.alibaba.com/plugin/eclipse/update)JD-Eclipse:[http://java-decompiler.github.io/](http://java-decompiler.github.io/)汉化:[https://do...
Eclipse -
Nginx开启TLSv1.3和HTTP/2
安装最新的openssl:[https://www.openssl.org/source/](https://www.openssl.org/source/),版本:`openssl-1.1.1`。安装命令:```bash#下载解压tar-zxvfopenssl-1.1.1.tar.gzcdopenssl-1.1.1#编译安装./configsharedzlibmakemakeinstall#版本替换rm-rf/usr/bin/opensslrm-rf/usr/include/opensslln-s/usr/local/bin/openssl/usr/bin/opensslln-s/usr/local/include/openssl/usr/include/openssl#注意下面是>>追加内容echo"/usr/local/lib64/">>/etc/ld.so.confldconfig-v```如果使用`yum`安装的Nginx,编译的`openssl`版本不对,所以配置对了也没有效果。**可以先用`yum`安装试试,如果`openssl`版本没问题,可以直接配置**。```bas...
Nginx TLSv1.3 HTTP/2 -
Java11启动异常
```Invocationofinitmethodfailed;nestedexceptionisjavax.persistence.PersistenceException:[PersistenceUnit:persistenceUnit]UnabletobuildHibernateSessionFactory;nestedexceptionisorg.hibernate.MappingException:Couldnotgetconstructorfororg.hibernate.persister.entity.SingleTableEntityPersisteratorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1702)atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCrea...
Java Tomcat Java11