Anypoint Studio 6.2 및 Mule 런타임 3.8.3을 사용하고 있습니다.Mule 자바 변 환기에서 페이로드에 zip 파일을 전달하는 방법은 무엇입니까?
src/main/resources/input 폴더에서 파일을 가져 와서 압축하여 src/main/resources/output에 저장 한 다음 메시지 페이로드를 zip 파일로 바꿉니다.
이렇게하려면 파일을 압축하여 출력 폴더에 저장하는 Zip이라는 자바 클래스를 참조하는 자바 변환기가 추가되었지만 새로 만든 zip 파일을 메시지의 페이로드에 추가하는 방법은 무엇입니까?
자바 우편 등급 :
public class Zip extends AbstractMessageTransformer
{
public Object transformMessage(MuleMessage message, String outputEncoding) throws TransformerException {
System.out.print("***java.utils.Zip started***");
String sourceFile = "src/main/resources/input/log4j2.xml";
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fos = new FileOutputStream("src/main/resources/output/log4j2.zip");
ZipOutputStream zipOut = new ZipOutputStream(fos);
File fileToZip = new File(sourceFile);
fis = new FileInputStream(fileToZip);
ZipEntry zipEntry = new ZipEntry(fileToZip.getName());
zipOut.putNextEntry(zipEntry);
final byte[] bytes = new byte[1024];
int length;
while((length = fis.read(bytes)) >= 0) {
zipOut.write(bytes, 0, length);
}
message.setPayload(????);
zipOut.close();
fis.close();
fos.close();
} catch (FileNotFoundException e) {
//File not found
e.printStackTrace();
} catch (IOException e) {
//IO Exception
e.printStackTrace();
}
System.out.print("***java.utils.Zip completed***");
return message;
}
}
감사
내가 물리적으로 페이로드에 파일을 추가 할 수 또는 난 단지 위치를 추가 할 수 있습니다 #로 사용할 수 있습니다? Thanks – user3165854
위치 추가 + zip 파일 이름 –