在Spring Batch中,内存不足异常覆盖特定方案的已实现Writer类的Write方法

时间:2015-05-13 13:21:03

标签: spring spring-batch spring-integration batch-processing

在Spring Batch中,我将每个数据块附加到实现的编写器类的覆盖Write方法中的StringBuilder和afterStep加密数据的完整有效负载(String Builder)中 并写入文件。因为我将每个数据附加到String Builder,因为记录大小很大并且继续附加到StringBuilder,因此会出现内存异常或堆大小问题,请 建议什么是最好的方法摆脱这种情况(我的意图是不加密和写入每个记录块的文件)

Concerened Code:

<?php


print_r($_SESSION);

if (isset($_SESSION['action'])) {

    echo "
<h4>Employee Data</h4><br>
    <ul class='nav nav-tabs'>
        <li class='active'><a data-toggle='tab'href='#sectionA'>Address</a></li>

        <li><a data-toggle='tab' href='#sectionB'>Personal Data</a></li>

       <li><a data-toggle='tab' href='#sectionB'>Communication Data</a></li>
            </ul>

        </li>

    </ul>

    <div class='tab-content'>

        <div id='sectionA' class='tab-pane fade in active'>

            <ul class='list-group'>
  <li class='list-group-item'>First Name ".$emp_name."
  </li>
  <li class='list-group-item'>Last Name</li>
  <li class='list-group-item'>Street</li>
  <li class='list-group-item'>Zip</li>
  <li class='list-group-item'>City</li>
  <li class='list-group-item'>Country</li>
</ul>

        </div>

        <div id='sectionB' class='tab-pane fade'>

            <p>Section B content…</p>

        </div>

        <div id='dropdown1' class='tab-pane fade'>

            <p>Dropdown 1 content…</p>

        </div>

        <div id='dropdown2' class='tab-pane fade'>

            <p>Dropdown 2 content…</p>

        </div>

    </div>
    ";
}





?>

请为这种情况建议我最好的Spring Batch方法。

1 个答案:

答案 0 :(得分:1)

您应该在写入文件时动态加密 - 而不是单独加密的块,使用输出流并继续写入。

使用Bouncy Castle或类似物。