首页 > 解决方案 > 在springboot中检测getobjectsize

问题描述

我正在编写一个 spring-boot 应用程序,其中我有一些休息服务,我想测量我传入的有效负载的大小,并且想使用我想要的 Instrumentation。

请在下面找到我的代码:

public class Sizeof {
    private static Instrumentation instrumentation;
    
    public static void premain(String args, Instrumentation inst) {
        System.out.println("inisde ::: args ::: " + args + " :::: inst :::: " + inst);
        instrumentation = inst;
    }
    
    public static long sizeof(Object o) {
        return instrumentation.getObjectSize(o);
    }
}

控制器类:

@RestController
public class FileController {

    @CrossOrigin(origins = "*")
    @PostMapping("/test")
    public ResponseEntity<String> uploadFile(@RequestParam("emps") Employee[] emps) {
        System.out.println("Size :::: " + Sizeof.sizeof(file));
        return new ResponseEntity<>("OK ", HttpStatus.OK);
    }
}

pom.xml 中的清单条目

<build>
        <sourceDirectory>src</sourceDirectory>
        <finalName>are-agent</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <classpathPrefix>lib/</classpathPrefix>
                            <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                            <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                        </manifest>
                        <manifestEntries>
                            <Premain-Class>com.sample.component.Sizeof</Premain-Class>
                            <Can-Redefine-Classes>false</Can-Redefine-Classes>
                            <Can-Retransform-Classes>true</Can-Retransform-Classes>
                        </manifestEntries>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>

但我的premain方法没有被调用,你能帮忙吗

标签: javaspring-bootpom.xmlmanifestinstrumentation

解决方案


推荐阅读