Giter VIP home page Giter VIP logo

spring-cloud-learning's Issues

通过配置类开启feign的hystrix服务不起作用

定义配置类设置feign.hystrix.enabled=true不起作用,配置类如下:
@configuration
@ConditionalOnClass({HystrixCommand.class, HystrixFeign.class})
public class FeignServerConfiguration {

@Bean
@Scope("prototype")
@ConditionalOnProperty(name = "feign.hystrix.enabled", matchIfMissing = true)
public Feign.Builder feignBuilder() {
    return Feign.builder();
}

}
目前是通过在配置文件中application.properties中添加feign.hystrix.enabled=true开启feign的hystrix服务。

Mybatis插入数据返回主键为NULL的问题

/**
 * 插入用户,返回用户id  
 * 需要注意的是在mapper接口中不能使用@Param("")绑定传入实体参数,这样主键会绑定到新建的实体中。
 * 如@Param("user") UserEntity user主键会绑定到新建的实体,即getId() = null。
 *
 * @param user 用户实体
 * @return Long
 */
  Long insertUser(UserEntity user);

 // Long insertUser(@Param("user") UserEntity user) 使用@Param("")绑定传入实体参数,会使主键绑定到新建的实体中
<insert id="insertUser" parameterType="User">
    <selectKey keyProperty="id" order="BEFORE" resultType="java.lang.String">
        select replace(uuid(), '-', '') as id from dual
    </selectKey>
    insert into user(id, name, birth)
    values (#{id}, #{name}, #{birth})
</insert>

Setup Airbrake for your Java application

Step 1: Install

Install option 1: Maven

Add the javabrake dependency through your IDE or directly to your pom.xml file:

<dependency>
  <groupId>io.airbrake</groupId>
  <artifactId>javabrake</artifactId>
  <version>0.1.6</version>
</dependency>

Install option 2: Gradle

Add javabrake to your Gradle dependencies:

compile 'io.airbrake:javabrake:0.1.6'

Install option 3: Ivy

Add javabrake to your Ivy dependencies:

<dependency org='io.airbrake' name='javabrake' rev='0.1.6'>
  <artifact name='javabrake' ext='pom'></artifact>
</dependency>

Step 2: Configure

Import the javabrake library and copy the three configuration lines into your
app to send all uncaught exceptions to Airbrake:

(You can find your project API KEY with your project's settings)

// Import the library:
import io.airbrake.javabrake.Notifier;

public class ExampleApp {
  public static void main(String[] args) {

    // Copy configuration lines:
    int projectId = <Your project ID>;
    String projectKey = "<Your project API KEY>";
    Notifier notifier = new Notifier(projectId, projectKey);
  }
}

Example of reporting a caught exception:

try {
  int i = 1/0;
} catch (ArithmeticException e) {
  notifier.report(e);
}

Visit our official GitHub repo for advanced information and integrations like log4j, log4j2, and logback.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.