Compare commits
7 Commits
mqssave-1_
...
mqssave-1_
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7bc0510954 | ||
|
|
d46511d384 | ||
|
|
81f82b947f | ||
|
|
51a031b7ae | ||
|
|
67d8b5f6c4 | ||
|
|
4bdbc1e2e1 | ||
|
|
bf636a2cea |
139
MQSSave.java
139
MQSSave.java
@@ -1,14 +1,14 @@
|
|||||||
// $RCSfile: MQSSave.java,v $
|
// $RCSfile: MQSSave.java,v $
|
||||||
// $Revision: 1.9 $
|
// $Revision: 1.14 $
|
||||||
// $Name: $
|
// $Name: $
|
||||||
// $Date: 2002/07/29 09:56:18 $
|
// $Date: 2008/01/03 13:46:01 $
|
||||||
// $Author: giberta1 $
|
// $Author: agibert $
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* MQSSave.java - MQ/Seires queue to data file saver
|
* MQSSave.java - MQ/Series queue to data file saver
|
||||||
* Copyright (C) 2002 Arnaud G. Gibert
|
* Copyright (C) 2001-2006 Arnaud G. Gibert
|
||||||
* arnaud.gibert@misys.com
|
* mailto:arnaud@rx3.net
|
||||||
* www.misys.com
|
* http://www.rx3.org/dvp/MQSLoad
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
@@ -43,12 +43,15 @@ public class MQSSave
|
|||||||
private String Output_File_Name, Flush_File_Name = "flush.txt";
|
private String Output_File_Name, Flush_File_Name = "flush.txt";
|
||||||
private String Message_Break = "\r\n";
|
private String Message_Break = "\r\n";
|
||||||
private boolean TI_Swift_Batch_Mode = false;
|
private boolean TI_Swift_Batch_Mode = false;
|
||||||
|
private boolean Copy_Mode = false;
|
||||||
private boolean Trim_Mode = false;
|
private boolean Trim_Mode = false;
|
||||||
|
private boolean MBTrailer_Mode = false;
|
||||||
private int Total_Nb = 0, Moved_Nb = 0, Skiped_Nb = 0, Scaned_Nb = 0, Flushed_Nb = 0;
|
private int Total_Nb = 0, Moved_Nb = 0, Skiped_Nb = 0, Scaned_Nb = 0, Flushed_Nb = 0;
|
||||||
private String MQSSave_Revision = "$Revision: 1.9 $";
|
private String MQSSave_Revision = "$Revision: 1.14 $";
|
||||||
private String MQSSave_Tag = "$Name: $";
|
private String MQSSave_Tag = "$Name: $";
|
||||||
private String MQSSave_Date = "$Date: 2002/07/29 09:56:18 $";
|
private String MQSSave_Date = "$Date: 2008/01/03 13:46:01 $";
|
||||||
private String MQSSave_Author = "$Author: giberta1 $";
|
private String MQSSave_Author = "$Author: agibert $";
|
||||||
|
private Integer Sleep_Time = 0;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -204,7 +207,19 @@ public class MQSSave
|
|||||||
{
|
{
|
||||||
while( argc < args.length)
|
while( argc < args.length)
|
||||||
{
|
{
|
||||||
if ( args[argc].equals( "-mb"))
|
if ( args[argc].equals( "-qm"))
|
||||||
|
{
|
||||||
|
if( argc < ( args.length + 1))
|
||||||
|
{
|
||||||
|
QMng_Name = Str_Format( args[++argc]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
System.out.println( "Invalid number of command line options...");
|
||||||
|
throw new Exception();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if ( args[argc].equals( "-mb"))
|
||||||
{
|
{
|
||||||
if( argc < ( args.length + 1))
|
if( argc < ( args.length + 1))
|
||||||
{
|
{
|
||||||
@@ -228,14 +243,50 @@ public class MQSSave
|
|||||||
throw new Exception();
|
throw new Exception();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if ( args[argc].equals( "-st"))
|
||||||
|
{
|
||||||
|
if( argc < ( args.length + 1))
|
||||||
|
{
|
||||||
|
Sleep_Time = Integer.parseInt( args[++argc]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
System.out.println( "Invalid number of command line options...");
|
||||||
|
throw new Exception();
|
||||||
|
}
|
||||||
|
}
|
||||||
else if ( args[argc].equals( "-tisbm"))
|
else if ( args[argc].equals( "-tisbm"))
|
||||||
{
|
{
|
||||||
TI_Swift_Batch_Mode = true;
|
if( Copy_Mode == false)
|
||||||
|
{
|
||||||
|
TI_Swift_Batch_Mode = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
System.out.println( "Invalid command line option combination: -tisbm and -cm...");
|
||||||
|
throw new Exception();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if ( args[argc].equals( "-cm"))
|
||||||
|
{
|
||||||
|
if( TI_Swift_Batch_Mode == false)
|
||||||
|
{
|
||||||
|
Copy_Mode = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
System.out.println( "Invalid command line option combination: -tisbm and -cm...");
|
||||||
|
throw new Exception();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if ( args[argc].equals( "-tm"))
|
else if ( args[argc].equals( "-tm"))
|
||||||
{
|
{
|
||||||
Trim_Mode = true;
|
Trim_Mode = true;
|
||||||
}
|
}
|
||||||
|
else if ( args[argc].equals( "-mbtm"))
|
||||||
|
{
|
||||||
|
MBTrailer_Mode = true;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Output_File_Name = args[argc++];
|
Output_File_Name = args[argc++];
|
||||||
@@ -462,6 +513,32 @@ public class MQSSave
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------------
|
||||||
|
//
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
private void Stand_By(int timer)
|
||||||
|
{
|
||||||
|
if( timer > 0)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
synchronized( this)
|
||||||
|
{
|
||||||
|
wait( timer);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch(InterruptedException ie)
|
||||||
|
{
|
||||||
|
ie.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
//-------------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -508,6 +585,8 @@ public class MQSSave
|
|||||||
if( mode == MODE_FULLMOVE)
|
if( mode == MODE_FULLMOVE)
|
||||||
{
|
{
|
||||||
Counter_Print( Total_Nb++, '.');
|
Counter_Print( Total_Nb++, '.');
|
||||||
|
|
||||||
|
Stand_By( Sleep_Time);
|
||||||
|
|
||||||
if( Moved_Nb > 1)
|
if( Moved_Nb > 1)
|
||||||
{
|
{
|
||||||
@@ -525,7 +604,10 @@ public class MQSSave
|
|||||||
|
|
||||||
Output_File.write( buffer_byte, 0, buffer_byte.length);
|
Output_File.write( buffer_byte, 0, buffer_byte.length);
|
||||||
|
|
||||||
MQSDelete_Msg( input_msg);
|
if( Copy_Mode == false )
|
||||||
|
{
|
||||||
|
MQSDelete_Msg( input_msg);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -541,8 +623,11 @@ public class MQSSave
|
|||||||
{
|
{
|
||||||
// System.out.print( "FB1 ");
|
// System.out.print( "FB1 ");
|
||||||
Counter_Print( Total_Nb++, '#');
|
Counter_Print( Total_Nb++, '#');
|
||||||
|
|
||||||
|
Stand_By( Sleep_Time);
|
||||||
|
|
||||||
MQSDelete_Msg( input_msg);
|
MQSDelete_Msg( input_msg);
|
||||||
|
|
||||||
first_flush = false;
|
first_flush = false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -558,6 +643,8 @@ public class MQSSave
|
|||||||
// System.out.print( "FEA ");
|
// System.out.print( "FEA ");
|
||||||
Counter_Print( Total_Nb++, '#');
|
Counter_Print( Total_Nb++, '#');
|
||||||
|
|
||||||
|
Stand_By( Sleep_Time);
|
||||||
|
|
||||||
MQSDelete_Msg( input_msg);
|
MQSDelete_Msg( input_msg);
|
||||||
}
|
}
|
||||||
else if( msg_type.equals( TYPE_SWIFTOUT))
|
else if( msg_type.equals( TYPE_SWIFTOUT))
|
||||||
@@ -565,6 +652,8 @@ public class MQSSave
|
|||||||
// System.out.print( "FO ");
|
// System.out.print( "FO ");
|
||||||
Counter_Print( Total_Nb++, '*');
|
Counter_Print( Total_Nb++, '*');
|
||||||
|
|
||||||
|
Stand_By( Sleep_Time);
|
||||||
|
|
||||||
if( Flushed_Nb > 1)
|
if( Flushed_Nb > 1)
|
||||||
{
|
{
|
||||||
Flush_File.write( Message_Break.getBytes());
|
Flush_File.write( Message_Break.getBytes());
|
||||||
@@ -649,6 +738,9 @@ public class MQSSave
|
|||||||
}
|
}
|
||||||
|
|
||||||
Counter_Print( Total_Nb++, '~');
|
Counter_Print( Total_Nb++, '~');
|
||||||
|
|
||||||
|
Stand_By( Sleep_Time);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -659,6 +751,8 @@ public class MQSSave
|
|||||||
// System.out.print( "MB ");
|
// System.out.print( "MB ");
|
||||||
Counter_Print( Total_Nb++, '#');
|
Counter_Print( Total_Nb++, '#');
|
||||||
|
|
||||||
|
Stand_By( Sleep_Time);
|
||||||
|
|
||||||
MQSDelete_Msg( input_msg);
|
MQSDelete_Msg( input_msg);
|
||||||
}
|
}
|
||||||
else if( msg_type.equals( TYPE_SWIFTEND))
|
else if( msg_type.equals( TYPE_SWIFTEND))
|
||||||
@@ -666,6 +760,8 @@ public class MQSSave
|
|||||||
// System.out.print( "ME ");
|
// System.out.print( "ME ");
|
||||||
Counter_Print( Total_Nb++, '#');
|
Counter_Print( Total_Nb++, '#');
|
||||||
|
|
||||||
|
Stand_By( Sleep_Time);
|
||||||
|
|
||||||
MQSDelete_Msg( input_msg);
|
MQSDelete_Msg( input_msg);
|
||||||
|
|
||||||
mode = MODE_SCAN;
|
mode = MODE_SCAN;
|
||||||
@@ -681,6 +777,8 @@ public class MQSSave
|
|||||||
// System.out.print( "MO ");
|
// System.out.print( "MO ");
|
||||||
Counter_Print( Total_Nb++, '.');
|
Counter_Print( Total_Nb++, '.');
|
||||||
|
|
||||||
|
Stand_By( Sleep_Time);
|
||||||
|
|
||||||
if( Moved_Nb > 1)
|
if( Moved_Nb > 1)
|
||||||
{
|
{
|
||||||
Output_File.write( Message_Break.getBytes());
|
Output_File.write( Message_Break.getBytes());
|
||||||
@@ -698,7 +796,7 @@ public class MQSSave
|
|||||||
|
|
||||||
Output_File.write( buffer_byte, 0, buffer_byte.length);
|
Output_File.write( buffer_byte, 0, buffer_byte.length);
|
||||||
|
|
||||||
MQSDelete_Msg( input_msg);
|
MQSDelete_Msg( input_msg);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -715,6 +813,11 @@ public class MQSSave
|
|||||||
}
|
}
|
||||||
while( input_msg != null);
|
while( input_msg != null);
|
||||||
|
|
||||||
|
if( MBTrailer_Mode)
|
||||||
|
{
|
||||||
|
Output_File.write( Message_Break.getBytes());
|
||||||
|
}
|
||||||
|
|
||||||
System.out.println( "\n");
|
System.out.println( "\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -747,8 +850,8 @@ public class MQSSave
|
|||||||
|
|
||||||
if( ( args.length < 2) || ( args.length > 7))
|
if( ( args.length < 2) || ( args.length > 7))
|
||||||
{
|
{
|
||||||
System.out.println( "Usage: MQSSave [-mb \"message_break\"] [-tisbm [-ffn <Flush_File_Name>]] [-tm] <Output_File_Name> <Input_MsgQueue_Name>");
|
System.out.println( "Usage: MQSSave [-qm \"Input_QueueMng_Name\"] [-st \"sleep_time\"] [-mb \"message_break\"] [-tisbm [-ffn <Flush_File_Name>] | -cm ] [-tm] [-mbtm] <Output_File_Name> <Input_MsgQueue_Name>");
|
||||||
System.out.println( " Default: Message Break: (" + Str_UnFormat( Message_Break) + ") TI Swift Batch Mode: (" + TI_Swift_Batch_Mode + ") Trim Mode: (" + Trim_Mode + ") Flush File Name: (" + Flush_File_Name + ")");
|
System.out.println( " Default: Input QueueMng Name: (" + QMng_Name + ") Sleep Time: (" + Sleep_Time + ") Message Break: (" + Str_UnFormat( Message_Break) + ") TI Swift Batch Mode: (" + TI_Swift_Batch_Mode + ") Copy Mode: (" + Copy_Mode + ") Flush File Name: (" + Flush_File_Name + ") Trim Mode: (" + Trim_Mode + ") MsgBreak Trailer Mode: (" + MBTrailer_Mode + ")");
|
||||||
|
|
||||||
System.exit( 1);
|
System.exit( 1);
|
||||||
}
|
}
|
||||||
@@ -758,8 +861,8 @@ public class MQSSave
|
|||||||
|
|
||||||
Arg_Parse( args);
|
Arg_Parse( args);
|
||||||
|
|
||||||
System.out.println( "Output File Name: (" + Output_File_Name + ") Input MsgQue Name: (" + MsgQ_Name + ") Flush File Name: (" + Flush_File_Name + ")");
|
System.out.println( "Output File Name: (" + Output_File_Name + ") Input QueueMng Name: (" + QMng_Name + ") Input MsgQue Name: (" + MsgQ_Name + ") Flush File Name: (" + Flush_File_Name + ")");
|
||||||
System.out.println( "Message Break: (" + Str_UnFormat( Message_Break) + ") TI Swift Batch Mode: (" + TI_Swift_Batch_Mode + ") Trim Mode: (" + Trim_Mode + ")");
|
System.out.println( "Sleep Time: (" + Sleep_Time + ") Message Break: (" + Str_UnFormat( Message_Break) + ") TI Swift Batch Mode: (" + TI_Swift_Batch_Mode + ") Copy Mode: (" + Copy_Mode + ") Trim Mode: (" + Trim_Mode + ") MsgBreak Trailer Mode: (" + MBTrailer_Mode + ")");
|
||||||
|
|
||||||
MQSInit();
|
MQSInit();
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
# $RCSfile: ReadMe.txt,v $
|
# $RCSfile: ReadMe.txt,v $
|
||||||
# $Revision: 1.4 $
|
# $Revision: 1.5 $
|
||||||
# $Name: $
|
# $Name: $
|
||||||
# $Date: 2002/05/21 16:07:17 $
|
# $Date: 2007/12/11 16:50:50 $
|
||||||
# $Author: giberta1 $
|
# $Author: agibert $
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -24,7 +24,7 @@ Installation:
|
|||||||
Notes:
|
Notes:
|
||||||
------
|
------
|
||||||
|
|
||||||
- MQSSave has been tested with MQ/Series 5.2,
|
- MQSSave has been tested with MQ/Series 5.2, 5.2, 5.3 and WMQ 6.0.
|
||||||
|
|
||||||
- "-mb" argument accept a string with formated escape character:
|
- "-mb" argument accept a string with formated escape character:
|
||||||
+ "\n" for newline,
|
+ "\n" for newline,
|
||||||
|
|||||||
@@ -1,15 +1,50 @@
|
|||||||
# $RCSfile: ReleaseNotes.txt,v $
|
# $RCSfile: ReleaseNotes.txt,v $
|
||||||
# $Revision: 1.7 $
|
# $Revision: 1.11 $
|
||||||
# $Name: $
|
# $Name: $
|
||||||
# $Date: 2002/07/29 10:00:03 $
|
# $Date: 2008/01/03 13:46:01 $
|
||||||
# $Author: giberta1 $
|
# $Author: agibert $
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
MQSSave V 1.1.4 - A. Gibert - 29/07/02
|
MQSSave V 1.3.1 - A. Gibert - 2008/01/03
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Fix usage print out.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
MQSSave V 1.3.0 - C. Colin / A. Gibert - 2007/12/10
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Add sleep time option "-st".
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
MQSSave V 1.2.0 - A. Gibert - 2007/06/05
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Add queue manager name option "-qm".
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
MQSSave V 1.1.5 - A. Gibert - 2003/09/04
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Add message break trailer mode support,
|
||||||
|
Add -mbtm option,
|
||||||
|
Add copy mode support,
|
||||||
|
Add "-cm" option.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
MQSSave V 1.1.4 - A. Gibert - 2002/07/29
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
Fix trim mode support when tisbm off.
|
Fix trim mode support when tisbm off.
|
||||||
@@ -17,7 +52,7 @@ Fix trim mode support when tisbm off.
|
|||||||
|
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
MQSSave V 1.1.3 - A. Gibert - 21/05/02
|
MQSSave V 1.1.3 - A. Gibert - 2002/05/21
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
Add trim mode support,
|
Add trim mode support,
|
||||||
@@ -29,7 +64,7 @@ Add version, date and author print out.
|
|||||||
|
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
MQSSave V 1.1.2 - A. Gibert - 13/05/02
|
MQSSave V 1.1.2 - A. Gibert - 2002/05/13
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
Rename SWIFTABORT into SWIFTERROR,
|
Rename SWIFTABORT into SWIFTERROR,
|
||||||
@@ -38,7 +73,7 @@ Add Legend printout line.
|
|||||||
|
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
MQSSave V 1.1.1 - A. Gibert - 06/05/02
|
MQSSave V 1.1.1 - A. Gibert - 2002/05/06
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
Add return code handling.
|
Add return code handling.
|
||||||
@@ -46,7 +81,7 @@ Add return code handling.
|
|||||||
|
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
MQSSave V 1.1.0 - A. Gibert - 03/05/02
|
MQSSave V 1.1.0 - A. Gibert - 2002/05/03
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
Add TI Swift batch mode support,
|
Add TI Swift batch mode support,
|
||||||
@@ -58,7 +93,7 @@ Fix MQSSave usage print: replace MQSLoad by MSSave !
|
|||||||
|
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
MQSSave V 1.0.0 - A. Gibert - 23/04/02
|
MQSSave V 1.0.0 - A. Gibert - 2002/04/23
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
First release.
|
First release.
|
||||||
|
|||||||
Reference in New Issue
Block a user