• Kafka java.nio.channels.ClosedChannelException

    最近开始部署一个工程时遇到了Kafka消费的问题,报错信息如下: 相关的工程已经在测试环境测试过了,部署到新的环境上却报错了。所以这个问题应该是环境问题或配置问题。 进入Kafka源码可以发现这个问题是在连接Kafka Broker时出现的

    [阅读更多...]
  • Gradle访问需要用户名密码的仓库

    公司私有的maven仓库在访问时是需要用户名密码的。访问这种仓库的时候需要在build.gradle中配置repository用户权限,如下面这样: 但是如果每个项目都要配置一次的话,多少会让人有些觉得不耐烦。所以可以这个配置也可以在ini

    [阅读更多...]
  • 使用Gradle构建scala多模块工程

    前段时间终于无法忍受sbt慢如龟速的编译打包速度了。稍稍调研了一下,就果断切换到了gradle。由于调研得比较匆忙,在使用过程中遇到了各种问题。好在最后都能解决了。 我这里使用scala主要是用来编写spark job。由于我自己的一些需要

    [阅读更多...]
  • 理解AOP

    说下我对AOP的理解:AOP是给程序添加统一功能的一种技术。在代码层面上来说,AOP就是在必要的业务代码中织入业务无关的、统一的代码的一种技术。在实现AOP的时候,通常努力争取的目标是对业务代码无侵入或是低侵入。 平时用得比较多的是Spri

    [阅读更多...]
  • 使用ThreadLocal

    之前和同事讨论过一个日期格式化的问题,程序比较简单,大体是这样: 同事并不喜欢这个代码。原因是每调用一次format方法都会创建一个SimpleDateFormat对象。虽然我一再强调SimpleDateFormat对象是方法内的,即生即灭

    [阅读更多...]
  • jar包中的jar

    前两天在整理一个工程的时候突发奇想,能不能把需要的jar都打到一个类似于war包的jar包里面去,但是不解开原始jar包,而是将之统一放到外面jar包中的一个lib目录下。 按这个思路试了好几次,都遇到了NoClassDefFoundErr

    [阅读更多...]
  • Gradle中的“provided”

    maven中值为provided的scope,可以让我们声明一个只在编译时使用的非传递性的依赖。在gradle中我们可以声明compileOnly依赖来实现类似的效果(需要java插件)。示例如下: compileOnly声明的使用场景可以

    [阅读更多...]
  • Gradle依赖排除

    在引用依赖时经常会有这样的问题:某些间接引用的依赖项是不需要的;产生了依赖冲突。此时需要排除一些依赖。 下面的内容介绍了几种在gradle中排除依赖的方式。 在dependency中排除 这种方式是粒度最细的,也是最为繁琐的。此时可以考虑全

    [阅读更多...]
  • spark使用kafka报NoSuchMethodError

    运行spark任务消费kafka时,报了如下的异常: 使用的spark版本是1.6.1,kafka版本是0.8.2.1。 根据异常信息猜测应该是scala版本导致的问题。 查看了一下依赖的spark和kafka的配置为: 依赖项直接copy

    [阅读更多...]
  • gradle: No cached version of org.scala-lang

    在idea中使用gradle构建项目时总是提示失败,发现报错信息如下: 看了一下,关键是最后一行: 印象中并没有设置过离线模式。看了一下idea中gradle的设置,发现存在相关的默认设置“Offline work”。取消勾选“Offlin

    [阅读更多...]