diff --git a/dev/io.openliberty.checkpoint_fat_appClientSupport/.classpath b/dev/io.openliberty.checkpoint_fat_appClientSupport/.classpath
new file mode 100755
index 00000000000..a179fd1cce3
--- /dev/null
+++ b/dev/io.openliberty.checkpoint_fat_appClientSupport/.classpath
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/dev/io.openliberty.checkpoint_fat_appClientSupport/.project b/dev/io.openliberty.checkpoint_fat_appClientSupport/.project
new file mode 100755
index 00000000000..9f9de54dbce
--- /dev/null
+++ b/dev/io.openliberty.checkpoint_fat_appClientSupport/.project
@@ -0,0 +1,23 @@
+
+
+ io.openliberty.checkpoint_fat_appClientSupport
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ bndtools.core.bndbuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ bndtools.core.bndnature
+
+
diff --git a/dev/io.openliberty.checkpoint_fat_appClientSupport/.settings/bndtools.core.prefs b/dev/io.openliberty.checkpoint_fat_appClientSupport/.settings/bndtools.core.prefs
new file mode 100644
index 00000000000..789fa99991a
--- /dev/null
+++ b/dev/io.openliberty.checkpoint_fat_appClientSupport/.settings/bndtools.core.prefs
@@ -0,0 +1,2 @@
+compileErrorAction=build
+eclipse.preferences.version=1
diff --git a/dev/io.openliberty.checkpoint_fat_appClientSupport/.settings/org.eclipse.core.resources.prefs b/dev/io.openliberty.checkpoint_fat_appClientSupport/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000000..25d9425fe34
--- /dev/null
+++ b/dev/io.openliberty.checkpoint_fat_appClientSupport/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,4 @@
+#Ant properties
+#Automatically generated by the ant prepare.settings.files task
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/dev/io.openliberty.checkpoint_fat_appClientSupport/.settings/org.eclipse.jdt.core.prefs b/dev/io.openliberty.checkpoint_fat_appClientSupport/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..6fba0a1ed75
--- /dev/null
+++ b/dev/io.openliberty.checkpoint_fat_appClientSupport/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,289 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=18
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=2
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=2
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=18
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=2
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=18
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=0
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=18
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=18
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=18
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=80
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=20
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=4
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=false
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=false
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=180
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=4
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=4
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
+org.eclipse.jdt.core.formatter.indentation.size=8
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=180
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=true
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
+org.eclipse.jdt.core.formatter.tabulation.char=space
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/dev/io.openliberty.checkpoint_fat_appClientSupport/.settings/org.eclipse.jdt.ui.prefs b/dev/io.openliberty.checkpoint_fat_appClientSupport/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 00000000000..c0003634609
--- /dev/null
+++ b/dev/io.openliberty.checkpoint_fat_appClientSupport/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,60 @@
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=/**\n *\n * ${tags}\n *//**\n * ${tags}\n * ${see_to_target}\n *//**\n * ${tags}\n *//** *//**\n * ${tags}\n *//**\n * @param ${param} the ${bare_field_name} to set\n *//**\n * @return the ${bare_field_name}\n */${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}\n\n\n\n// ${todo} Auto-generated method stub\n${body_statement}${body_statement}\n// ${todo} Auto-generated constructor stubreturn ${field};${field} \= ${param};
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.make_local_variable_final=false
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=false
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_blocks=false
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/dev/io.openliberty.checkpoint_fat_appClientSupport/bnd.bnd b/dev/io.openliberty.checkpoint_fat_appClientSupport/bnd.bnd
new file mode 100644
index 00000000000..9f455ec5e3c
--- /dev/null
+++ b/dev/io.openliberty.checkpoint_fat_appClientSupport/bnd.bnd
@@ -0,0 +1,45 @@
+#*******************************************************************************
+# Copyright (c) 2024 IBM Corporation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+# IBM Corporation - initial API and implementation
+#*******************************************************************************
+
+-include= ~../cnf/resources/bnd/bundle.props
+bVersion=1.0
+
+fat.project: true
+
+tested.features: appclientsupport-2.0,\
+ enterprisebeans-4.0,\
+ mdb-4.0,\
+ connectors-2.1,\
+ enterprisebeansremote-4.0,\
+ cdi-3.0,\
+ cdi-4.0,\
+ cdi-4.1,\
+ enterprisebeanshome-4.0,\
+ enterprisebeanslite-4.0,\
+ enterprisebeanspersistenttimer-4.0,\
+ checkpoint
+
+src:\
+ fat/src,\
+ test-applications/InjectionAppClient.jar/src,\
+ test-applications/InjectionAppEJB.jar/src
+
+
+-buildpath: \
+ io.openliberty.org.apache.commons.logging;version=latest,\
+ com.ibm.websphere.javaee.annotation.1.1;version=latest,\
+ com.ibm.websphere.javaee.ejb.3.2;version=latest,\
+ com.ibm.ws.kernel.service;version=latest,\
+ com.ibm.ws.logging;version=latest,\
+ com.ibm.ws.kernel.boot.common;version=latest,\
+ com.ibm.websphere.javaee.cdi.2.0;version=latest
diff --git a/dev/io.openliberty.checkpoint_fat_appClientSupport/build.gradle b/dev/io.openliberty.checkpoint_fat_appClientSupport/build.gradle
new file mode 100644
index 00000000000..0d1d7092eae
--- /dev/null
+++ b/dev/io.openliberty.checkpoint_fat_appClientSupport/build.gradle
@@ -0,0 +1,94 @@
+/*******************************************************************************
+ * Copyright (c) 2020, 2024 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+addRequiredLibraries.dependsOn addJakartaTransformer
+
+/*
+ * This is where all test applications will be built.
+ */
+def appBuildDir = "${buildDir}/test-application"
+
+/******************************************************************
+ ******************************************************************
+ **
+ ** InjectionAppClient.jar
+ **
+ ******************************************************************
+ ******************************************************************/
+task InjectionAppClient_JAR (type: Zip, dependsOn: classes) {
+ destinationDirectory = new File(appBuildDir)
+ archiveFileName = 'InjectionAppClient.jar'
+
+ from (new File(projectDir, 'test-applications/InjectionAppClient.jar/resources')) {
+ include 'META-INF/**'
+ }
+ from (new File(projectDir, 'build/classes/java/main')) {
+ include 'io/openliberty/checkpoint/fat/appclientsupport/InjectionClientMain.class'
+ }
+}
+
+/******************************************************************
+ ******************************************************************
+ **
+ ** InjectionAppEJB.jar
+ **
+ ******************************************************************
+ ******************************************************************/
+task InjectionAppEJB_JAR (type: Zip, dependsOn: classes) {
+ destinationDirectory = new File(appBuildDir)
+ archiveFileName = 'InjectionAppEJB.jar'
+
+ from (new File(projectDir, 'test-applications/InjectionAppEJB.jar/resources')) {
+ include 'META-INF/**'
+ }
+ from (new File(projectDir, 'build/classes/java/main')) {
+ include 'io/openliberty/checkpoint/fat/appclientsupport/*Bean.class'
+ include 'io/openliberty/checkpoint/fat/appclientsupport/view/*.class'
+ }
+}
+
+/******************************************************************
+ ******************************************************************
+ **
+ ** InjectionApp.ear
+ **
+ ******************************************************************
+ ******************************************************************/
+task InjectionApp_EAR (type: Zip) {
+ dependsOn InjectionAppClient_JAR, InjectionAppEJB_JAR
+
+ destinationDirectory = new File(appBuildDir)
+ archiveFileName = 'InjectionApp.ear'
+
+ from (new File(projectDir, 'test-applications/InjectionApp.ear/resources')) {
+ include 'META-INF/**'
+ }
+ from (new File(buildDir, 'test-application')) {
+ include 'InjectionAppClient.jar', 'InjectionAppEJB.jar'
+ }
+}
+
+
+assemble.dependsOn InjectionApp_EAR
+
+autoFVT.doLast {
+
+ copy {
+ from new File(project.buildDir, 'test-application/InjectionApp.ear')
+ into new File(autoFvtDir, 'publish/clients/clientInjection/dropins')
+ }
+
+ copy {
+ from new File(project.buildDir, 'test-application/InjectionApp.ear')
+ into new File(autoFvtDir, 'publish/servers/serverInjection/dropins')
+ }
+}
\ No newline at end of file
diff --git a/dev/io.openliberty.checkpoint_fat_appClientSupport/fat/src/io/openliberty/checkpoint/fat/appclientsupport/AppClientSupportTest.java b/dev/io.openliberty.checkpoint_fat_appClientSupport/fat/src/io/openliberty/checkpoint/fat/appclientsupport/AppClientSupportTest.java
new file mode 100755
index 00000000000..0ec76624f5a
--- /dev/null
+++ b/dev/io.openliberty.checkpoint_fat_appClientSupport/fat/src/io/openliberty/checkpoint/fat/appclientsupport/AppClientSupportTest.java
@@ -0,0 +1,81 @@
+/*******************************************************************************
+ * Copyright (c) 2024 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+package io.openliberty.checkpoint.fat.appclientsupport;
+
+import static io.openliberty.checkpoint.fat.appclientsupport.FATSuite.transformApp;
+import static org.junit.Assert.assertTrue;
+
+import java.util.List;
+
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TestName;
+import org.junit.runner.RunWith;
+
+import com.ibm.websphere.simplicity.log.Log;
+
+import componenttest.annotation.CheckpointTest;
+import componenttest.custom.junit.runner.FATRunner;
+import componenttest.topology.impl.LibertyClient;
+import componenttest.topology.impl.LibertyClientFactory;
+import componenttest.topology.impl.LibertyServer;
+import componenttest.topology.impl.LibertyServerFactory;
+import io.openliberty.checkpoint.spi.CheckpointPhase;
+
+@RunWith(FATRunner.class)
+@CheckpointTest
+public class AppClientSupportTest {
+ private static Class> c = AppClientSupportTest.class;
+
+ private static final String app = "InjectionApp.ear";
+
+ @Rule
+ public TestName testName = new TestName();
+
+ private static LibertyClient client = LibertyClientFactory.getLibertyClient("clientInjection");
+ private static LibertyServer server = LibertyServerFactory.getLibertyServer("serverInjection");
+
+ @BeforeClass
+ public static void beforeClass() throws Exception {
+ transformApp(server.getServerRoot(), app);
+ server.setCheckpoint(CheckpointPhase.AFTER_APP_START, true, null);
+ server.startServer();
+ transformApp(client.getClientRoot(), app);
+ client.startClient();
+ }
+
+ @AfterClass
+ public static void afterClass() throws Exception {
+ server.stopServer();
+ }
+
+ /**
+ * Tests that a remote EJB is injected when using a
+ * java:global lookup.
+ */
+ @Test
+ public void injectGlobal_EJB() throws Exception {
+ String methodName = testName.getMethodName();
+ int idx = -1;
+ if ((idx = methodName.indexOf("_EE")) != -1) {
+ methodName = methodName.substring(0, idx);
+ }
+ List strings = client.findStringsInCopiedLogs(methodName + "-PASSED");
+ Log.info(c, methodName, "Found in logs: " + strings);
+ assertTrue("Did not find expected method message " + methodName, strings != null && strings.size() >= 1);
+ }
+
+}
diff --git a/dev/io.openliberty.checkpoint_fat_appClientSupport/fat/src/io/openliberty/checkpoint/fat/appclientsupport/FATSuite.java b/dev/io.openliberty.checkpoint_fat_appClientSupport/fat/src/io/openliberty/checkpoint/fat/appclientsupport/FATSuite.java
new file mode 100755
index 00000000000..7b26ebbb205
--- /dev/null
+++ b/dev/io.openliberty.checkpoint_fat_appClientSupport/fat/src/io/openliberty/checkpoint/fat/appclientsupport/FATSuite.java
@@ -0,0 +1,50 @@
+/*******************************************************************************
+ * Copyright (c) 2024 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+package io.openliberty.checkpoint.fat.appclientsupport;
+
+import java.io.File;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+import org.junit.ClassRule;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+import componenttest.custom.junit.runner.AlwaysPassesTest;
+import componenttest.rules.repeater.FeatureReplacementAction;
+import componenttest.rules.repeater.JakartaEE10Action;
+import componenttest.rules.repeater.JakartaEEAction;
+import componenttest.rules.repeater.RepeatTests;
+
+@RunWith(Suite.class)
+@SuiteClasses({
+ AlwaysPassesTest.class,
+ AppClientSupportTest.class
+})
+public class FATSuite {
+
+ @ClassRule
+ public static RepeatTests r = RepeatTests.withoutModification()
+ .andWith(new JakartaEE10Action().fullFATOnly())
+ .andWith(FeatureReplacementAction.EE11_FEATURES());
+
+ public static void transformApp(String rootPath, String app) {
+ if (JakartaEEAction.isEE9OrLaterActive()) {
+ Path someArchive = Paths.get(rootPath + File.separatorChar + "dropins" + File.separatorChar + app);
+ JakartaEEAction.transformApp(someArchive);
+ }
+ }
+
+}
diff --git a/dev/io.openliberty.checkpoint_fat_appClientSupport/publish/clients/clientInjection/bootstrap.properties b/dev/io.openliberty.checkpoint_fat_appClientSupport/publish/clients/clientInjection/bootstrap.properties
new file mode 100755
index 00000000000..396e89c24cf
--- /dev/null
+++ b/dev/io.openliberty.checkpoint_fat_appClientSupport/publish/clients/clientInjection/bootstrap.properties
@@ -0,0 +1,14 @@
+###############################################################################
+# Copyright (c) 2024 IBM Corporation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+# IBM Corporation - initial API and implementation
+###############################################################################
+
+bootstrap.include=../../servers/../servers/../servers/./testports.properties
\ No newline at end of file
diff --git a/dev/io.openliberty.checkpoint_fat_appClientSupport/publish/clients/clientInjection/client.xml b/dev/io.openliberty.checkpoint_fat_appClientSupport/publish/clients/clientInjection/client.xml
new file mode 100755
index 00000000000..fb68062a653
--- /dev/null
+++ b/dev/io.openliberty.checkpoint_fat_appClientSupport/publish/clients/clientInjection/client.xml
@@ -0,0 +1,18 @@
+
+
+
+
+ javaeeClient-8.0
+
+
diff --git a/dev/io.openliberty.checkpoint_fat_appClientSupport/publish/servers/serverInjection/bootstrap.properties b/dev/io.openliberty.checkpoint_fat_appClientSupport/publish/servers/serverInjection/bootstrap.properties
new file mode 100755
index 00000000000..e1d4f413e37
--- /dev/null
+++ b/dev/io.openliberty.checkpoint_fat_appClientSupport/publish/servers/serverInjection/bootstrap.properties
@@ -0,0 +1,16 @@
+###############################################################################
+# Copyright (c) 2024 IBM Corporation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+# IBM Corporation - initial API and implementation
+###############################################################################
+
+bootstrap.include=../testports.properties
+websphere.java.security.exempt=true
+io.openliberty.checkpoint.allowed.features=ejbRemote-3.2,ejbPersistentTimer-3.2,ejb-3.2,appClientSupport-1.0,ejbHome-3.2,enterpriseBeans-4.0,appClientSupport-2.0,enterpriseBeansRemote-4.0,enterpriseBeansPersistentTimer-4.0,enterpriseBeansHome-4.0
\ No newline at end of file
diff --git a/dev/io.openliberty.checkpoint_fat_appClientSupport/publish/servers/serverInjection/server.xml b/dev/io.openliberty.checkpoint_fat_appClientSupport/publish/servers/serverInjection/server.xml
new file mode 100755
index 00000000000..f624bdeb8d1
--- /dev/null
+++ b/dev/io.openliberty.checkpoint_fat_appClientSupport/publish/servers/serverInjection/server.xml
@@ -0,0 +1,20 @@
+
+
+
+
+ appClientSupport-1.0
+ ejb-3.2
+ cdi-2.0
+
+
\ No newline at end of file
diff --git a/dev/io.openliberty.checkpoint_fat_appClientSupport/test-applications/InjectionApp.ear/resources/META-INF/application.xml b/dev/io.openliberty.checkpoint_fat_appClientSupport/test-applications/InjectionApp.ear/resources/META-INF/application.xml
new file mode 100755
index 00000000000..79b7f73d3c4
--- /dev/null
+++ b/dev/io.openliberty.checkpoint_fat_appClientSupport/test-applications/InjectionApp.ear/resources/META-INF/application.xml
@@ -0,0 +1,22 @@
+
+
+
+ InjectionApp
+
+ InjectionAppClient.jar
+
+
+ InjectionAppEJB.jar
+
+
\ No newline at end of file
diff --git a/dev/io.openliberty.checkpoint_fat_appClientSupport/test-applications/InjectionAppClient.jar/resources/META-INF/MANIFEST.MF b/dev/io.openliberty.checkpoint_fat_appClientSupport/test-applications/InjectionAppClient.jar/resources/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..380136ae793
--- /dev/null
+++ b/dev/io.openliberty.checkpoint_fat_appClientSupport/test-applications/InjectionAppClient.jar/resources/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Main-Class: io.openliberty.checkpoint.fat.appclientsupport.InjectionClientMain
+Class-Path: InjectionAppEJB.jar
diff --git a/dev/io.openliberty.checkpoint_fat_appClientSupport/test-applications/InjectionAppClient.jar/src/io/openliberty/checkpoint/fat/appclientsupport/InjectionClientMain.java b/dev/io.openliberty.checkpoint_fat_appClientSupport/test-applications/InjectionAppClient.jar/src/io/openliberty/checkpoint/fat/appclientsupport/InjectionClientMain.java
new file mode 100755
index 00000000000..22ac7a00d79
--- /dev/null
+++ b/dev/io.openliberty.checkpoint_fat_appClientSupport/test-applications/InjectionAppClient.jar/src/io/openliberty/checkpoint/fat/appclientsupport/InjectionClientMain.java
@@ -0,0 +1,47 @@
+/*******************************************************************************
+ * Copyright (c) 2024 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+package io.openliberty.checkpoint.fat.appclientsupport;
+
+import javax.ejb.EJB;
+
+import io.openliberty.checkpoint.fat.appclientsupport.view.SimpleInjectionBeanRemote;
+
+public class InjectionClientMain {
+
+ private final static String NAME_EJB_GLOBAL = "java:global/InjectionApp/InjectionAppEJB/SimpleInjectionBean!io.openliberty.checkpoint.fat.appclientsupport.view.SimpleInjectionBeanRemote";
+
+ @EJB(lookup = NAME_EJB_GLOBAL)
+ public static SimpleInjectionBeanRemote injectedGlobalEjb;
+
+ public static void main(String[] args) {
+ System.out.println("main - entry");
+
+ if (checkEJB(injectedGlobalEjb))
+ System.out.println("injectGlobal_EJB-PASSED");
+
+ System.out.println("main - exit");
+ }
+
+ private static boolean checkEJB(SimpleInjectionBeanRemote ejb) {
+ boolean b;
+ try {
+ b = ejb != null && ejb.add(4, 8) == 12;
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ b = false;
+ }
+ return b;
+ }
+
+}
diff --git a/dev/io.openliberty.checkpoint_fat_appClientSupport/test-applications/InjectionAppEJB.jar/resources/META-INF/ejb-jar.xml b/dev/io.openliberty.checkpoint_fat_appClientSupport/test-applications/InjectionAppEJB.jar/resources/META-INF/ejb-jar.xml
new file mode 100755
index 00000000000..18e341b4246
--- /dev/null
+++ b/dev/io.openliberty.checkpoint_fat_appClientSupport/test-applications/InjectionAppEJB.jar/resources/META-INF/ejb-jar.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ InjectionAppEJB
+
+
+ SimpleInjectionBean
+
+ Simple entry bound in java:global
+ java:global/env/globalEnvEntry
+ java.lang.String
+ I am global
+
+
+
+
\ No newline at end of file
diff --git a/dev/io.openliberty.checkpoint_fat_appClientSupport/test-applications/InjectionAppEJB.jar/src/io/openliberty/checkpoint/fat/appclientsupport/SimpleInjectionBean.java b/dev/io.openliberty.checkpoint_fat_appClientSupport/test-applications/InjectionAppEJB.jar/src/io/openliberty/checkpoint/fat/appclientsupport/SimpleInjectionBean.java
new file mode 100755
index 00000000000..ac7c33895c5
--- /dev/null
+++ b/dev/io.openliberty.checkpoint_fat_appClientSupport/test-applications/InjectionAppEJB.jar/src/io/openliberty/checkpoint/fat/appclientsupport/SimpleInjectionBean.java
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2024 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+package io.openliberty.checkpoint.fat.appclientsupport;
+
+import javax.ejb.Remote;
+import javax.ejb.Singleton;
+
+import io.openliberty.checkpoint.fat.appclientsupport.view.SimpleInjectionBeanRemote;
+
+@Singleton
+@Remote(SimpleInjectionBeanRemote.class)
+public class SimpleInjectionBean implements SimpleInjectionBeanRemote {
+
+ @Override
+ public int add(int x, int y) {
+ return x + y;
+ }
+}
diff --git a/dev/io.openliberty.checkpoint_fat_appClientSupport/test-applications/InjectionAppEJB.jar/src/io/openliberty/checkpoint/fat/appclientsupport/view/SimpleInjectionBeanRemote.java b/dev/io.openliberty.checkpoint_fat_appClientSupport/test-applications/InjectionAppEJB.jar/src/io/openliberty/checkpoint/fat/appclientsupport/view/SimpleInjectionBeanRemote.java
new file mode 100755
index 00000000000..a1b28039fd4
--- /dev/null
+++ b/dev/io.openliberty.checkpoint_fat_appClientSupport/test-applications/InjectionAppEJB.jar/src/io/openliberty/checkpoint/fat/appclientsupport/view/SimpleInjectionBeanRemote.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * Copyright (c) 2024 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+package io.openliberty.checkpoint.fat.appclientsupport.view;
+
+public interface SimpleInjectionBeanRemote {
+
+ public int add(int x, int y);
+}