Commit d7d4f72e authored by liaozan's avatar liaozan 🏀

no messages

parent 6be1d3f3
package com.schbrain.initializer.common.dto;
import lombok.Data;
/**
* @author liaozan
* @since 2023-05-02
*/
@Data
public class EntityDTO {
private String id;
private String name;
}
\ No newline at end of file
package com.schbrain.initializer.dao.entity; package com.schbrain.initializer.dao.entity;
import com.schbrain.framework.autoconfigure.mybatis.annotation.BizId;
import com.schbrain.framework.autoconfigure.mybatis.base.BaseEntity; import com.schbrain.framework.autoconfigure.mybatis.base.BaseEntity;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
...@@ -12,6 +13,7 @@ import lombok.EqualsAndHashCode; ...@@ -12,6 +13,7 @@ import lombok.EqualsAndHashCode;
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
public class Entity extends BaseEntity { public class Entity extends BaseEntity {
@BizId
private String name; private String name;
} }
\ No newline at end of file
...@@ -30,6 +30,30 @@ ...@@ -30,6 +30,30 @@
<groupId>com.schbrain.framework</groupId> <groupId>com.schbrain.framework</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId> <artifactId>dubbo-spring-boot-starter</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.schbrain.framework</groupId>
<artifactId>elasticsearch-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.schbrain.framework</groupId>
<artifactId>kafka-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.schbrain.framework</groupId>
<artifactId>logger-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.schbrain.framework</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.schbrain.framework</groupId>
<artifactId>oss-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.schbrain.framework</groupId>
<artifactId>xxl-job-spring-boot-starter</artifactId>
</dependency>
<dependency> <dependency>
<groupId>com.aliyun</groupId> <groupId>com.aliyun</groupId>
<artifactId>dingtalk</artifactId> <artifactId>dingtalk</artifactId>
......
package com.schbrain.initializer; package com.schbrain.initializer;
import org.springframework.boot.SpringApplication; import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.context.metrics.buffering.BufferingApplicationStartup;
import org.springframework.boot.context.metrics.buffering.StartupTimeline;
import org.springframework.boot.context.metrics.buffering.StartupTimeline.TimelineEvent;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.core.metrics.StartupStep;
import org.springframework.core.metrics.StartupStep.Tag;
import java.util.ArrayList;
import java.util.List;
@Slf4j
@SpringBootApplication @SpringBootApplication
public class Application { public class Application {
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(Application.class, args); ConfigurableApplicationContext applicationContext = new SpringApplicationBuilder()
.applicationStartup(new BufferingApplicationStartup(Integer.MAX_VALUE))
.sources(Application.class)
.run(args);
BufferingApplicationStartup applicationStartup = (BufferingApplicationStartup) applicationContext.getApplicationStartup();
StartupTimeline startupTimeline = applicationStartup.drainBufferedTimeline();
for (TimelineEvent event : startupTimeline.getEvents()) {
StartupStep step = event.getStartupStep();
StringBuilder message = new StringBuilder("step: {}");
List<Object> values = new ArrayList<>();
values.add(step.getName());
for (Tag tag : step.getTags()) {
message.append(" tag: {}, {}");
values.add(tag.getKey());
values.add(tag.getValue());
}
log.info(message.toString(), values.toArray());
}
} }
} }
\ No newline at end of file
spring: spring:
application: application:
name: schbrain-initializer name: schbrain-initializer
apollo: \ No newline at end of file
bootstrap:
namespaces: application,redis-common,jdbc-common
management:
metrics:
export:
elastic:
host: http://dev.elasticsearch.server.schbrain.com:9200
\ No newline at end of file
package com.schbrain.initializer.web.controller; package com.schbrain.initializer.web.controller;
import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.RandomUtil;
import com.schbrain.common.util.JacksonUtils;
import com.schbrain.framework.autoconfigure.mybatis.base.BaseEntity; import com.schbrain.framework.autoconfigure.mybatis.base.BaseEntity;
import com.schbrain.framework.autoconfigure.mybatis.base.BaseService; import com.schbrain.framework.autoconfigure.mybatis.base.BaseService;
import com.schbrain.initializer.dao.entity.Entity; import com.schbrain.initializer.dao.entity.Entity;
import com.schbrain.initializer.dao.entity.EntityWithLogicDelete; import com.schbrain.initializer.dao.entity.EntityWithLogicDelete;
import com.schbrain.initializer.service.EntityService; import com.schbrain.initializer.service.EntityService;
import com.schbrain.initializer.service.EntityWithLogicDeleteService; import com.schbrain.initializer.service.EntityWithLogicDeleteService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.*; import java.util.List;
import java.util.Map;
/** /**
* @author liaozan * @author liaozan
* @since 2022/8/9 * @since 2022/8/9
*/ */
@Slf4j
@SuppressWarnings("DuplicatedCode") @SuppressWarnings("DuplicatedCode")
@RestController @RestController
public class EntityController { public class EntityController {
...@@ -26,13 +30,16 @@ public class EntityController { ...@@ -26,13 +30,16 @@ public class EntityController {
@Autowired @Autowired
private EntityWithLogicDeleteService entityWithLogicDeleteService; private EntityWithLogicDeleteService entityWithLogicDeleteService;
@GetMapping("/testOOM") @GetMapping("/bizId")
public List<byte[]> testOOM() { public void bizId() {
List<byte[]> bytes = new ArrayList<>(); Entity entity = entityService.getByBizId("8352707733");
for (int i = 0; i < 10000; i++) { System.out.println(JacksonUtils.toPrettyJsonString(entity));
bytes.add(new byte[1024 * 1024]);
} List<Entity> entities = entityService.listByBizIds(List.of("8352707733"));
return bytes; System.out.println(JacksonUtils.toPrettyJsonString(entities));
Map<String, Entity> entityMap = entityService.getMapByBizIds(List.of("8352707733"));
System.out.println(JacksonUtils.toPrettyJsonString(entityMap));
} }
@GetMapping("/entity") @GetMapping("/entity")
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment