Project

General

Profile

Download (2.12 KB) Statistics
| Branch: | Tag: | Revision:
1
<%@page import="org.codehaus.jackson.node.JsonNodeFactory"
2
%><%@page import="org.codehaus.jackson.node.ArrayNode"
3
%><%@ page contentType="application/json;charset=UTF-8" language="java"
4
%><%@page import="java.util.Set"
5
%><%@page import="org.codehaus.jackson.map.ObjectMapper"
6
%><%@page import="org.codehaus.jackson.JsonNode"
7
%><%@page import="org.codehaus.jackson.node.ObjectNode"
8
%><%@page import="eu.etaxonomy.cdm.server.JvmManager"
9
%><%@page import="java.lang.management.MemoryUsage"
10
%><%@page import="org.codehaus.jackson.JsonFactory"
11
%><%@page import="org.codehaus.jackson.JsonGenerator"
12
%><%@page import="org.codehaus.jackson.map.ser.StdSerializerProvider"
13
%><%@page import="eu.etaxonomy.cdm.server.Bootloader"
14
%><%
15

    
16
    //the servelt context must use the class loader of the Bootloader class otherwise
17
    //getting the status will not work in mulithreading environments !!!
18
    Bootloader bootloader = Bootloader.getBootloader();
19
    long recommendedMinimumHeap = bootloader.recommendedMinimumSpace(Bootloader.HEAP_CDMSERVER, Bootloader.HEAP_PER_INSTANCE, null);
20
    long recommendedMinimumPermGenSpace = bootloader.recommendedMinimumSpace(Bootloader.PERM_GEN_SPACE_CDMSERVER, Bootloader.PERM_GEN_SPACE_PER_INSTANCE, null);
21

    
22
    ObjectMapper jsonMapper = new ObjectMapper();
23

    
24
    response.setHeader("Content-Type", "application/json;charset=UTF-8");
25

    
26
    MemoryUsage  heapMemoryUsage = JvmManager.getHeapMemoryUsage();
27
    MemoryUsage  permGenSpaceUsage = JvmManager.getPermGenSpaceUsage();
28

    
29
    ObjectNode node = jsonMapper.createObjectNode();
30
    node.put("recommendedMinimumHeap", recommendedMinimumHeap);
31
    node.put("recommendedMinimumPermGenSpace", recommendedMinimumPermGenSpace);
32
    node.putPOJO("heapMemoryUsage", heapMemoryUsage);
33
    node.putPOJO("permGenSpaceUsage", permGenSpaceUsage);
34

    
35
    JsonFactory jsonFactory = new JsonFactory();
36
    JsonGenerator jg = jsonFactory.createJsonGenerator(out);
37
    jg.setCodec(jsonMapper);
38
    node.serialize(jg, new StdSerializerProvider());
39
    out.append("}"); //TODO why do we have to add the closing bracket ecplicitely ???? ==> it seems as if the serialization stops at some point du to an exception
40
%>
(2-2/3)