maven test output stops when System.out.println calls are encountered
by Galder Zamarreno
Hi,
I've been running the cache loader migration tests via maven and I
spotted that only the first test results would print to the standard
output. The rest of tests would run, but the output would not appear.
Digging a little bit, I found http://jira.codehaus.org/browse/SUREFIRE-315
Basically, at the end of the first test run, whose results appear on the
STDOUT (TransformingFileCacheLoaderTest),
TestingUtil.recursiveFileRemove(targetLoc) is called which removes some
files created during tests.
Within TestingUtil.recursiveFileRemove(targetLoc) there's a
System.out.println("Deleting file " + file); call which ends up messing
test output. Removing it solves the problem.
If everyone's happy with it, I would change this System.out.println call
to a logger call.
Cheers,
--
Galder Zamarreño
Sr. Software Maintenance Engineer
JBoss, a division of Red Hat
17 years, 3 months
Re: IDE settings in SVN Was: [jbosscache-commits] JBoss Cache SVN: r4438 - in core/trunk: .settings and 10 other directories.
by Manik Surtani
It interferes because it overrides personal IDE settings and
preferences. It is hardly "difficult" for new devs to get started -
try mvn idea:idea or mvn eclipse:eclipse.
Could you please delete the stuff you've checked in.
- Manik
On 27 Aug 2007, at 01:08, Elias Ross wrote:
> Most other JBoss projects have IDE settings checked in. It's
> convenient not just for other JBoss developers but for other users who
> want to get the project up and running quickly. And frankly, I don't
> see how it interferes with anyone's work.
>
> Go head and delete them if you like.
>
> On 8/26/07, Manik Surtani <manik(a)jboss.org> wrote:
>> Guys,
>>
>> Could we not check in IDE settings (Eclipse or IntelliJ) into SVN?
>> I'd rather have the source tree free of user-specific or IDE-specific
>> settings. Could we pls remove these?
>>
--
Manik Surtani
Lead, JBoss Cache
JBoss, a division of Red Hat
17 years, 4 months
IDE settings in SVN Was: [jbosscache-commits] JBoss Cache SVN: r4438 - in core/trunk: .settings and 10 other directories.
by Manik Surtani
Guys,
Could we not check in IDE settings (Eclipse or IntelliJ) into SVN?
I'd rather have the source tree free of user-specific or IDE-specific
settings. Could we pls remove these?
- Manik
Begin forwarded message:
> From: jbosscache-commits(a)lists.jboss.org
> Date: 24 August 2007 18:14:17 BDT
> To: jbosscache-commits(a)lists.jboss.org
> Subject: [jbosscache-commits] JBoss Cache SVN: r4438 - in core/
> trunk: .settings and 10 other directories.
> Reply-To: jbosscache-commits(a)lists.jboss.org
>
> Author: genman
> Date: 2007-08-24 13:14:16 -0400 (Fri, 24 Aug 2007)
> New Revision: 4438
>
> Added:
> core/trunk/.settings/
> core/trunk/.settings/org.eclipse.jdt.core.prefs
> core/trunk/.settings/org.eclipse.jdt.ui.prefs
> Modified:
> core/trunk/src/main/java/org/jboss/cache/Fqn.java
> core/trunk/src/main/java/org/jboss/cache/Version.java
> core/trunk/src/main/java/org/jboss/cache/buddyreplication/
> BuddyManager.java
> core/trunk/src/main/java/org/jboss/cache/config/
> CacheLoaderConfig.java
> core/trunk/src/main/java/org/jboss/cache/demo/JBossCacheGUI.java
> core/trunk/src/main/java/org/jboss/cache/interceptors/
> CacheLoaderInterceptor.java
> core/trunk/src/main/java/org/jboss/cache/interceptors/
> CacheStoreInterceptor.java
> core/trunk/src/main/java/org/jboss/cache/interceptors/
> PessimisticLockInterceptor.java
> core/trunk/src/main/java/org/jboss/cache/interceptors/
> TxInterceptor.java
> core/trunk/src/main/java/org/jboss/cache/interceptors/
> UnlockInterceptor.java
> core/trunk/src/main/java/org/jboss/cache/jmx/CacheJmxWrapper.java
> core/trunk/src/main/java/org/jboss/cache/loader/
> CacheLoaderManager.java
> core/trunk/src/main/java/org/jboss/cache/loader/
> JDBCCacheLoader.java
> core/trunk/src/main/java/org/jboss/cache/loader/tcp/
> TcpCacheServer.java
> core/trunk/src/main/java/org/jboss/cache/lock/
> LockStrategyRepeatableRead.java
> core/trunk/src/main/java/org/jboss/cache/util/MapCopy.java
> core/trunk/src/main/java/org/jboss/cache/util/
> SimpleImmutableEntry.java
> core/trunk/src/main/java/org/jboss/cache/util/Util.java
> Log:
> Fix misc issues found with "findbugs" tool
> Fix regression in Version for parsing version strings with two
> elements
>
> Added: core/trunk/.settings/org.eclipse.jdt.core.prefs
> ===================================================================
> --- core/trunk/.settings/
> org.eclipse.jdt.core.prefs (rev 0)
> +++ core/trunk/.settings/org.eclipse.jdt.core.prefs 2007-08-24
> 17:14:16 UTC (rev 4438)
> @@ -0,0 +1,251 @@
> +#Wed Aug 15 11:19:52 PDT 2007
> +eclipse.preferences.version=1
> +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
> +org.eclipse.jdt.core.compiler.compliance=1.5
> +org.eclipse.jdt.core.compiler.source=1.5
> +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
> +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_
> expression=16
> +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_consta
> nt=16
> +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_co
> nstructor_call=16
> +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invo
> cation=16
> +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_a
> llocation_expression=16
> +org.eclipse.jdt.core.formatter.alignment_for_assignment=0
> +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
> +org.eclipse.jdt.core.formatter.alignment_for_compact_if=52
> +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=4
> 8
> +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
> +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_ini
> tializer=16
> +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
> +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructo
> r_declaration=16
> +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_dec
> laration=16
> +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invoc
> ation=16
> +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_decla
> ration=64
> +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_
> declaration=16
> +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_
> declaration=64
> +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constru
> ctor_declaration=16
> +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_
> declaration=16
> +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=1
> +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_de
> claration=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_type_declarations=
> 1
> +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_dec
> laration=end_of_line
> +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_decl
> aration=next_line
> +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=n
> ext_line
> +org.eclipse.jdt.core.formatter.brace_position_for_block=next_line
> +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_o
> f_line
> +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declara
> tion=next_line
> +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_o
> f_line
> +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=en
> d_of_line
> +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=
> next_line
> +org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
> +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=ne
> xt_line
> +org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
> +org.eclipse.jdt.core.formatter.comment.format_comments=false
> +org.eclipse.jdt.core.formatter.comment.format_header=false
> +org.eclipse.jdt.core.formatter.comment.format_html=true
> +org.eclipse.jdt.core.formatter.comment.format_source_code=true
> +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=t
> rue
> +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
> +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_ta
> gs=insert
> +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=
> insert
> +org.eclipse.jdt.core.formatter.comment.line_length=80
> +org.eclipse.jdt.core.formatter.compact_else_if=true
> +org.eclipse.jdt.core.formatter.continuation_indentation=2
> +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_ini
> tializer=2
> +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=fal
> se
> +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_an
> notation_declaration_header=true
> +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_en
> um_constant_header=true
> +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_en
> um_declaration_header=true
> +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_ty
> pe_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=tru
> e
> +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
> +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cas
> es=true
> +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_swi
> tch=true
> +org.eclipse.jdt.core.formatter.indentation.size=4
> +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=inser
> t
> +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_miss
> ing=do not insert
> +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_st
> atement=insert
> +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_i
> n_array_initializer=do not insert
> +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_stat
> ement=insert
> +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_
> statement=insert
> +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_sta
> tement=insert
> +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_de
> claration=insert
> +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_typ
> e_declaration=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
> =insert
> +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declarat
> ion=insert
> +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=i
> nsert
> +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declarat
> ion=insert
> +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_paramet
> er=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_ty
> pe_declaration=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=ins
> ert
> +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_brack
> et_in_type_arguments=insert
> +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_brack
> et_in_type_parameters=insert
> +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_bl
> ock=insert
> +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_ca
> st=insert
> +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=ins
> ert
> +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=inser
> t
> +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditiona
> l=insert
> +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
> +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_st
> atement=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_init
> ializer=insert
> +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructo
> r_declaration_parameters=insert
> +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructo
> r_declaration_throws=insert
> +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_const
> ant_arguments=insert
> +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_decla
> rations=insert
> +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitco
> nstructorcall_arguments=insert
> +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increm
> ents=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_dec
> laration_parameters=insert
> +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_dec
> laration_throws=insert
> +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_inv
> ocation_arguments=insert
> +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_f
> ield_declarations=insert
> +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_l
> ocal_declarations=insert
> +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameteri
> zed_type_reference=insert
> +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinter
> faces=insert
> +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_argum
> ents=insert
> +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_param
> eters=insert
> +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
> +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_brack
> et_in_parameterized_type_reference=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_brack
> et_in_type_arguments=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_brack
> et_in_type_parameters=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_ar
> ray_initializer=do not 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_an
> notation=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_ca
> st=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_ca
> tch=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_co
> nstructor_declaration=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_en
> um_constant=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_fo
> r=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_me
> thod_declaration=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_me
> thod_invocation=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_pa
> renthesized_expression=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_sw
> itch=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_sy
> nchronized=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_wh
> ile=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_conditi
> onal=insert
> +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcar
> d=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=in
> sert
> +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do n
> ot insert
> +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parame
> ter=insert
> +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operato
> r=insert
> +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_t
> ype_declaration=insert
> +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=in
> sert
> +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_brac
> ket_in_parameterized_type_reference=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_brac
> ket_in_type_arguments=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_brac
> ket_in_type_parameters=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_a
> rray_initializer=do not 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_a
> nnotation=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_c
> ast=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_c
> atch=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_c
> onstructor_declaration=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_e
> num_constant=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_f
> or=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_i
> f=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_m
> ethod_declaration=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_m
> ethod_invocation=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_p
> arenthesized_expression=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_s
> witch=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_s
> ynchronized=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_w
> hile=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=in
> sert
> +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=inse
> rt
> +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_condition
> al=insert
> +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=i
> nsert
> +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=inser
> t
> +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_s
> tatement=insert
> +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocatio
> n_expression=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotatio
> n=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_ini
> tializer=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_construct
> or_declaration_parameters=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_construct
> or_declaration_throws=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_cons
> tant_arguments=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_decl
> arations=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitc
> onstructorcall_arguments=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_incre
> ments=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_de
> claration_parameters=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_de
> claration_throws=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_in
> vocation_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_parameter
> ized_type_reference=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinte
> rfaces=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_argu
> ments=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_para
> meters=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_brac
> ket_in_parameterized_type_reference=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_brac
> ket_in_type_arguments=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_brac
> ket_in_type_parameters=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_a
> nnotation_type_declaration=insert
> +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_a
> nonymous_type_declaration=insert
> +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_a
> rray_initializer=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_b
> lock=insert
> +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_c
> onstructor_declaration=insert
> +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_e
> num_constant=insert
> +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_e
> num_declaration=insert
> +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_m
> ethod_declaration=insert
> +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_s
> witch=insert
> +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_t
> ype_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_a
> nnotation=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_a
> nnotation_type_member_declaration=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_c
> atch=insert
> +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_c
> onstructor_declaration=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_e
> num_constant=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_f
> or=insert
> +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_i
> f=insert
> +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_m
> ethod_declaration=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_m
> ethod_invocation=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_p
> arenthesized_expression=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_s
> witch=insert
> +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_s
> ynchronized=insert
> +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_w
> hile=insert
> +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expr
> ession_in_return=insert
> +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=d
> o 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_condit
> ional=insert
> +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildca
> rd=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=d
> o 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_a
> rray_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_a
> nnotation_type_member_declaration=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_c
> onstructor_declaration=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_e
> num_constant=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_m
> ethod_declaration=do not insert
> +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_m
> ethod_invocation=do not insert
> +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
> +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_li
> ne=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=120
> +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=3
> +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations
> =false
>
> Added: core/trunk/.settings/org.eclipse.jdt.ui.prefs
> ===================================================================
> --- core/trunk/.settings/
> org.eclipse.jdt.ui.prefs (rev 0)
> +++ core/trunk/.settings/org.eclipse.jdt.ui.prefs 2007-08-24
> 17:14:16 UTC (rev 4438)
> @@ -0,0 +1,6 @@
> +#Wed Aug 15 11:19:52 PDT 2007
> +eclipse.preferences.version=1
> +formatter_profile=_JBoss
> +formatter_settings_version=10
> +internal.default.compliance=default
> +org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0"
> encoding\="UTF-8"?><templates><template autoinsert\="false" context
> \="gettercomment_context" deleted\="false" description\="Comment
> for getter method" enabled\="true" id
> \="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name
> \="gettercomment">/**\r\n * Returns ${bare_field_name}.\r\n */</
> template><template autoinsert\="false" context
> \="settercomment_context" deleted\="false" description\="Comment
> for setter method" enabled\="true" id
> \="org.eclipse.jdt.ui.text.codetemplates.settercomment" name
> \="settercomment">/**\r\n * Sets ${bare_field_name}.\r\n */</
> template><template autoinsert\="false" context
> \="constructorcomment_context" deleted\="false" description
> \="Comment for created constructors" enabled\="true" id
> \="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name
> \="constructorcomment">/**\r\n * Constructs a new ${enclosing_type}.
> \r\n * ${tags}\r\n */</template><template autoinsert\="true" conte!
> xt\="filecomment_context" deleted\="false" description\="Comment
> for created Java files" enabled\="true" id
> \="org.eclipse.jdt.ui.text.codetemplates.filecomment" name
> \="filecomment">/**\r\n * \r\n */</template><template autoinsert
> \="false" context\="typecomment_context" deleted\="false"
> description\="Comment for created types" enabled\="true" id
> \="org.eclipse.jdt.ui.text.codetemplates.typecomment" name
> \="typecomment">/**\r\n * @author Elias Ross\r\n * ${tags}\r\n */</
> template><template autoinsert\="true" context
> \="fieldcomment_context" deleted\="false" description\="Comment for
> fields" enabled\="true" id
> \="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name
> \="fieldcomment">/**\r\n * \r\n */</template><template autoinsert
> \="true" context\="methodcomment_context" deleted\="false"
> description\="Comment for non-overriding methods" enabled\="true" id
> \="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name
> \="methodcomment">/**\r\n * ${tags}\r\n */</template><template auto!
> insert\="false" context\="overridecomment_context" deleted
> \="false" de
> scription\="Comment for overriding methods" enabled\="true" id
> \="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name
> \="overridecomment"></template><template autoinsert\="false" context
> \="delegatecomment_context" deleted\="false" description\="Comment
> for delegate methods" enabled\="true" id
> \="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name
> \="delegatecomment">/**\r\n * ${tags}\r\n */</template><template
> autoinsert\="true" context\="newtype_context" deleted\="false"
> description\="Newly created files" enabled\="true" id
> \="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">$
> {filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n$
> {type_declaration}</template><template autoinsert\="true" context
> \="classbody_context" deleted\="false" description\="Code in new
> class type bodies" enabled\="true" id
> \="org.eclipse.jdt.ui.text.codetemplates.classbody" name
> \="classbody">\r\n</template><template autoinsert\="true" context
> \="interfacebody_context" !
> deleted\="false" description\="Code in new interface type bodies"
> enabled\="true" id
> \="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name
> \="interfacebody">\r\n</template><template autoinsert\="true"
> context\="enumbody_context" deleted\="false" description\="Code in
> new enum type bodies" enabled\="true" id
> \="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">
> \r\n</template><template autoinsert\="true" context
> \="annotationbody_context" deleted\="false" description\="Code in
> new annotation type bodies" enabled\="true" id
> \="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name
> \="annotationbody">\r\n</template><template autoinsert\="false"
> context\="catchblock_context" deleted\="false" description\="Code
> in new catch blocks" enabled\="true" id
> \="org.eclipse.jdt.ui.text.codetemplates.catchblock" name
> \="catchblock">throw new RuntimeException(${exception_var});</
> template><template autoinsert\="false" context
> \="methodbody_context" deleted\="false" descripti!
> on\="Code in created method stubs" enabled\="true" id
> \="org.eclipse.jd
> t.ui.text.codetemplates.methodbody" name\="methodbody">$
> {body_statement}</template><template autoinsert\="false" context
> \="constructorbody_context" deleted\="false" description\="Code in
> created constructor stubs" enabled\="true" id
> \="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name
> \="constructorbody">${body_statement}</template><template autoinsert
> \="true" context\="getterbody_context" deleted\="false" description
> \="Code in created getters" enabled\="true" id
> \="org.eclipse.jdt.ui.text.codetemplates.getterbody" name
> \="getterbody">return ${field};</template><template autoinsert
> \="true" context\="setterbody_context" deleted\="false" description
> \="Code in created setters" enabled\="true" id
> \="org.eclipse.jdt.ui.text.codetemplates.setterbody" name
> \="setterbody">${field} \= ${param};</template></templates>
>
> Modified: core/trunk/src/main/java/org/jboss/cache/Fqn.java
> ===================================================================
> --- core/trunk/src/main/java/org/jboss/cache/Fqn.java 2007-08-24
> 17:12:24 UTC (rev 4437)
> +++ core/trunk/src/main/java/org/jboss/cache/Fqn.java 2007-08-24
> 17:14:16 UTC (rev 4438)
> @@ -76,7 +76,7 @@
> * Immutable root FQN.
> */
> public static final Fqn ROOT = new Fqn();
> - private static Log log = LogFactory.getLog(Fqn.class);
> + private final static Log log = LogFactory.getLog(Fqn.class);
> // a cached string representation of this Fqn, used by toString
> to it isn't calculated again every time.
> private String cachedStringRep;
>
>
> Modified: core/trunk/src/main/java/org/jboss/cache/Version.java
> ===================================================================
> --- core/trunk/src/main/java/org/jboss/cache/Version.java
> 2007-08-24 17:12:24 UTC (rev 4437)
> +++ core/trunk/src/main/java/org/jboss/cache/Version.java
> 2007-08-24 17:14:16 UTC (rev 4438)
> @@ -1,6 +1,6 @@
> package org.jboss.cache;
>
> -import java.util.StringTokenizer;
> +import net.jcip.annotations.Immutable;
>
> /**
> * Contains version information about this release of JBoss Cache.
> @@ -8,12 +8,13 @@
> * @author Bela Ban
> * @version $Id$
> */
> +@Immutable
> public class Version
> {
> public static final String version = "2.1.0-SNAPSHOT";
> public static final String codename = "Alegrias";
> - public static byte[] version_id = {'0', '2', '1', '0', 'S'};
> public static final String cvs = "$Id$";
> + static final byte[] version_id = {'0', '2', '1', '0', 'S'};
>
> private static final int MAJOR_SHIFT = 11;
> private static final int MINOR_SHIFT = 6;
> @@ -103,10 +104,16 @@
> return 1241;
>
> String parts[] = versionString.split("[\\.\\-]");
> - if (parts.length < 3)
> - throw new IllegalArgumentException("versionString should be
> at least 3 parts!");
> -
> - return encodeVersion(Integer.parseInt(parts[0]),
> Integer.parseInt(parts[1]), Integer.parseInt(parts[2]));
> + int a = 0;
> + int b = 0;
> + int c = 0;
> + if (parts.length > 0)
> + a = Integer.parseInt(parts[0]);
> + if (parts.length > 1)
> + b = Integer.parseInt(parts[1]);
> + if (parts.length > 2)
> + c = Integer.parseInt(parts[2]);
> + return encodeVersion(a, b, c);
> }
>
> public static String getVersionString(short versionShort)
>
> Modified: core/trunk/src/main/java/org/jboss/cache/buddyreplication/
> BuddyManager.java
> ===================================================================
> --- core/trunk/src/main/java/org/jboss/cache/buddyreplication/
> BuddyManager.java 2007-08-24 17:12:24 UTC (rev 4437)
> +++ core/trunk/src/main/java/org/jboss/cache/buddyreplication/
> BuddyManager.java 2007-08-24 17:14:16 UTC (rev 4438)
> @@ -131,6 +131,8 @@
>
> private ViewChangeListener viewChangeListener; // the view-
> change viewChangeListener
>
> + private boolean receivedBuddyInfo;
> +
> public BuddyManager(BuddyReplicationConfig config)
> {
> this.config = config;
> @@ -415,6 +417,7 @@
> synchronized (poolInfoNotifierLock)
> {
> log.trace("Notifying any waiting view change threads that
> we have received buddy pool info.");
> + receivedBuddyInfo = true;
> poolInfoNotifierLock.notifyAll();
> }
> }
> @@ -1062,7 +1065,9 @@
> synchronized (poolInfoNotifierLock)
> {
> log.trace("Not received necessary buddy pool info
> for all new members yet; waiting on poolInfoNotifierLock.");
> - poolInfoNotifierLock.wait();
> + while (!receivedBuddyInfo)
> + poolInfoNotifierLock.wait();
> + receivedBuddyInfo = false;
> }
> }
>
>
> Modified: core/trunk/src/main/java/org/jboss/cache/config/
> CacheLoaderConfig.java
> ===================================================================
> --- core/trunk/src/main/java/org/jboss/cache/config/
> CacheLoaderConfig.java 2007-08-24 17:12:24 UTC (rev 4437)
> +++ core/trunk/src/main/java/org/jboss/cache/config/
> CacheLoaderConfig.java 2007-08-24 17:14:16 UTC (rev 4438)
> @@ -265,25 +265,24 @@
>
> public boolean equals(Object obj)
> {
> - return equalsExcludingProperties(obj)
> - && safeEquals(this.properties,
> ((IndividualCacheLoaderConfig) obj).properties);
> + if (!(obj instanceof IndividualCacheLoaderConfig))
> + return false;
> + IndividualCacheLoaderConfig i =
> (IndividualCacheLoaderConfig)obj;
> + return equalsExcludingProperties(i)
> + && safeEquals(this.properties, i.properties);
> }
>
> protected boolean equalsExcludingProperties(Object obj)
> {
> - if (this == obj)
> - return true;
> + if (!(obj instanceof IndividualCacheLoaderConfig))
> + return false;
> + IndividualCacheLoaderConfig other =
> (IndividualCacheLoaderConfig)obj;
>
> - if (obj instanceof IndividualCacheLoaderConfig)
> - {
> - IndividualCacheLoaderConfig other =
> (IndividualCacheLoaderConfig) obj;
> - return safeEquals(this.className, other.className)
> - && (this.async == other.async)
> - && (this.ignoreModifications ==
> other.ignoreModifications)
> - && (this.fetchPersistentState ==
> other.fetchPersistentState)
> - && safeEquals(this.singletonStoreConfig,
> other.singletonStoreConfig);
> - }
> - return false;
> + return safeEquals(this.className, other.className)
> + && (this.async == other.async)
> + && (this.ignoreModifications ==
> other.ignoreModifications)
> + && (this.fetchPersistentState ==
> other.fetchPersistentState)
> + && safeEquals(this.singletonStoreConfig,
> other.singletonStoreConfig);
>
> }
>
>
> Modified: core/trunk/src/main/java/org/jboss/cache/demo/
> JBossCacheGUI.java
> ===================================================================
> --- core/trunk/src/main/java/org/jboss/cache/demo/
> JBossCacheGUI.java 2007-08-24 17:12:24 UTC (rev 4437)
> +++ core/trunk/src/main/java/org/jboss/cache/demo/
> JBossCacheGUI.java 2007-08-24 17:14:16 UTC (rev 4438)
> @@ -72,22 +72,22 @@
> {
> private static final long serialVersionUID =
> -1242167331988194987L;
>
> - private CacheModelDelegate cacheModelDelegate;
> - private Cache cache;
> + private transient CacheModelDelegate cacheModelDelegate;
> + private transient Cache cache;
> private DefaultTreeModel tree_model = null;
> - private Log log = LogFactory.getLog(getClass());
> + private transient Log log = LogFactory.getLog(getClass());
> private JTree jtree = null;
> private DefaultTableModel tableModel = new DefaultTableModel();
> private JTable table = new JTable(tableModel);
> private JBossCacheGUI.DisplayNode myNodeRoot = new
> JBossCacheGUI.DisplayNode(Fqn.SEPARATOR);
> - private Node root;
> - private Node selected_node = null;
> + private transient Node root;
> + private transient Node selected_node = null;
> private JPanel tablePanel = null;
> private JPopupMenu operationsPopup = null,
> dataModificationsPopup = null;
> private static final int KEY_COL_WIDTH = 20;
> private static final int VAL_COL_WIDTH = 300;
> private TransactionManager tx_mgr = null;
> - private Transaction tx = null;
> + private transient Transaction tx = null;
> private JPanel mainPanel;
> private List<Address> membership = new LinkedList<Address>();
> private Address coordinator = null;
> @@ -98,7 +98,7 @@
> * resource-managemenet requirement, such as in an application
> server, newCachedThreadPool is a good option as it
> * provides better queuing performance.
> */
> - private Executor executor;
> + private transient Executor executor;
>
> public JBossCacheGUI(CacheModelDelegate cacheDelegate, boolean
> useConsole) throws Exception
> {
> @@ -242,10 +242,9 @@
> public void setCacheModelDelegate(final CacheModelDelegate
> cacheModelDelegate)
> {
> this.cacheModelDelegate = cacheModelDelegate;
> - cache = this.cacheModelDelegate.getGenericCache();
> -
> if (this.cacheModelDelegate != null)
> {
> + this.cache = this.cacheModelDelegate.getGenericCache();
> Runtime.getRuntime().addShutdownHook(
> new Thread()
> {
>
> Modified: core/trunk/src/main/java/org/jboss/cache/interceptors/
> CacheLoaderInterceptor.java
> ===================================================================
> --- core/trunk/src/main/java/org/jboss/cache/interceptors/
> CacheLoaderInterceptor.java 2007-08-24 17:12:24 UTC (rev 4437)
> +++ core/trunk/src/main/java/org/jboss/cache/interceptors/
> CacheLoaderInterceptor.java 2007-08-24 17:14:16 UTC (rev 4438)
> @@ -567,12 +567,4 @@
> return nodeData;
> }
>
> - private void warnCustom()
> - {
> - log.warn("CacheLoader.get(Fqn) returned a null; assuming the
> node nodes not exist.");
> - log.warn("The CacheLoader interface has changed since
> JBossCache 1.3.x");
> - log.warn("Please see http://jira.jboss.com/jira/browse/
> JBCACHE-118");
> - log.warn("CacheLoader.get() should return an empty Map if
> the node does exist but doesn't have any attributes.");
> - }
> -
> }
> \ No newline at end of file
>
> Modified: core/trunk/src/main/java/org/jboss/cache/interceptors/
> CacheStoreInterceptor.java
> ===================================================================
> --- core/trunk/src/main/java/org/jboss/cache/interceptors/
> CacheStoreInterceptor.java 2007-08-24 17:12:24 UTC (rev 4437)
> +++ core/trunk/src/main/java/org/jboss/cache/interceptors/
> CacheStoreInterceptor.java 2007-08-24 17:14:16 UTC (rev 4438)
> @@ -96,7 +96,8 @@
> // this is a commit call.
> if (log.isTraceEnabled()) log.trace("Calling
> loader.commit() for gtx " + gtx);
> // sync call (a write) on the loader
> - List fqnsModified = getFqnsFromModificationList
> (tx_table.get(gtx).getCacheLoaderModifications());
> + // ignore modified FQNs
> + // List fqnsModified =
> getFqnsFromModificationList(tx_table.get
> (gtx).getCacheLoaderModifications());
> try
> {
> loader.commit(gtx);
>
> Modified: core/trunk/src/main/java/org/jboss/cache/interceptors/
> PessimisticLockInterceptor.java
> ===================================================================
> --- core/trunk/src/main/java/org/jboss/cache/interceptors/
> PessimisticLockInterceptor.java 2007-08-24 17:12:24 UTC (rev 4437)
> +++ core/trunk/src/main/java/org/jboss/cache/interceptors/
> PessimisticLockInterceptor.java 2007-08-24 17:14:16 UTC (rev 4438)
> @@ -41,8 +41,6 @@
> {
> private TransactionTable tx_table = null;
>
> - boolean writeLockOnChildInsertRemove = true;
> -
> /**
> * Map<Object, java.util.List>. Keys = threads, values = lists
> of locks held by that thread
> */
> @@ -57,7 +55,6 @@
> tx_table = cache.getTransactionTable();
> lock_table = cache.getLockTable();
> lock_acquisition_timeout = cache.getConfiguration
> ().getLockAcquisitionTimeout();
> - writeLockOnChildInsertRemove = cache.getConfiguration
> ().isLockParentForChildInsertRemove();
> }
>
>
>
> Modified: core/trunk/src/main/java/org/jboss/cache/interceptors/
> TxInterceptor.java
> ===================================================================
> --- core/trunk/src/main/java/org/jboss/cache/interceptors/
> TxInterceptor.java 2007-08-24 17:12:24 UTC (rev 4437)
> +++ core/trunk/src/main/java/org/jboss/cache/interceptors/
> TxInterceptor.java 2007-08-24 17:14:16 UTC (rev 4438)
> @@ -289,7 +289,8 @@
> // we need to attach this tx to the InvocationContext.
> ctx.setTransaction(tx);
> }
> - if (tx != null) m = attachGlobalTransaction(ctx, tx, m);
> + if (tx != null)
> + attachGlobalTransaction(ctx, tx, m);
>
> GlobalTransaction gtx = ctx.getGlobalTransaction();
>
>
> Modified: core/trunk/src/main/java/org/jboss/cache/interceptors/
> UnlockInterceptor.java
> ===================================================================
> --- core/trunk/src/main/java/org/jboss/cache/interceptors/
> UnlockInterceptor.java 2007-08-24 17:12:24 UTC (rev 4437)
> +++ core/trunk/src/main/java/org/jboss/cache/interceptors/
> UnlockInterceptor.java 2007-08-24 17:14:16 UTC (rev 4438)
> @@ -31,7 +31,6 @@
>
> public Object invoke(InvocationContext ctx) throws Throwable
> {
> - MethodCall m = ctx.getMethodCall();
> try
> {
> return super.invoke(ctx);
>
> Modified: core/trunk/src/main/java/org/jboss/cache/jmx/
> CacheJmxWrapper.java
> ===================================================================
> --- core/trunk/src/main/java/org/jboss/cache/jmx/
> CacheJmxWrapper.java 2007-08-24 17:12:24 UTC (rev 4437)
> +++ core/trunk/src/main/java/org/jboss/cache/jmx/
> CacheJmxWrapper.java 2007-08-24 17:14:16 UTC (rev 4438)
> @@ -1084,7 +1084,7 @@
> this,
> getNextNotificationSequenceNumber(), now, msg,
> "State", "java.lang.Integer",
> - new Integer(oldState), new Integer(newState)
> + Integer.valueOf(oldState), Integer.valueOf(newState)
> );
> stateChangeNotification.setUserData(t);
>
>
> Modified: core/trunk/src/main/java/org/jboss/cache/loader/
> CacheLoaderManager.java
> ===================================================================
> --- core/trunk/src/main/java/org/jboss/cache/loader/
> CacheLoaderManager.java 2007-08-24 17:12:24 UTC (rev 4437)
> +++ core/trunk/src/main/java/org/jboss/cache/loader/
> CacheLoaderManager.java 2007-08-24 17:14:16 UTC (rev 4438)
> @@ -8,7 +8,6 @@
>
> import org.apache.commons.logging.Log;
> import org.apache.commons.logging.LogFactory;
> -import org.jboss.cache.Cache;
> import org.jboss.cache.CacheException;
> import org.jboss.cache.CacheSPI;
> import org.jboss.cache.Fqn;
>
> Modified: core/trunk/src/main/java/org/jboss/cache/loader/
> JDBCCacheLoader.java
> ===================================================================
> --- core/trunk/src/main/java/org/jboss/cache/loader/
> JDBCCacheLoader.java 2007-08-24 17:12:24 UTC (rev 4437)
> +++ core/trunk/src/main/java/org/jboss/cache/loader/
> JDBCCacheLoader.java 2007-08-24 17:14:16 UTC (rev 4438)
> @@ -14,7 +14,6 @@
> import java.sql.PreparedStatement;
> import java.sql.ResultSet;
> import java.sql.SQLException;
> -import java.util.Collections;
> import java.util.HashMap;
> import java.util.List;
> import java.util.Map;
>
> Modified: core/trunk/src/main/java/org/jboss/cache/loader/tcp/
> TcpCacheServer.java
> ===================================================================
> --- core/trunk/src/main/java/org/jboss/cache/loader/tcp/
> TcpCacheServer.java 2007-08-24 17:12:24 UTC (rev 4437)
> +++ core/trunk/src/main/java/org/jboss/cache/loader/tcp/
> TcpCacheServer.java 2007-08-24 17:14:16 UTC (rev 4438)
> @@ -333,8 +333,9 @@
> fqn = (Fqn) input.readObject();
> n = (NodeSPI) c.getRoot().getChild(fqn);
> if (n == null)
> - {// node doesn't exist - return null
> - output.writeObject(n);
> + {
> + // node doesn't exist - return null
> + output.writeObject(null);
> break;
> }
> Map map = n.getDataDirect();
>
> Modified: core/trunk/src/main/java/org/jboss/cache/lock/
> LockStrategyRepeatableRead.java
> ===================================================================
> --- core/trunk/src/main/java/org/jboss/cache/lock/
> LockStrategyRepeatableRead.java 2007-08-24 17:12:24 UTC (rev 4437)
> +++ core/trunk/src/main/java/org/jboss/cache/lock/
> LockStrategyRepeatableRead.java 2007-08-24 17:14:16 UTC (rev 4438)
> @@ -54,6 +54,6 @@
>
> public String toString()
> {
> - return lock_ != null? lock_.toString() : null;
> + return lock_ != null? lock_.toString() : "(null)";
> }
> }
>
> Modified: core/trunk/src/main/java/org/jboss/cache/util/MapCopy.java
> ===================================================================
> --- core/trunk/src/main/java/org/jboss/cache/util/MapCopy.java
> 2007-08-24 17:12:24 UTC (rev 4437)
> +++ core/trunk/src/main/java/org/jboss/cache/util/MapCopy.java
> 2007-08-24 17:14:16 UTC (rev 4438)
> @@ -28,7 +28,7 @@
>
> private static final long serialVersionUID = -958813082188242956L;
>
> - private List<Entry<K, V>> data = new ArrayList<Entry<K, V>>();
> + private final List<Entry<K, V>> data;
>
> private transient Set<Map.Entry<K, V>> entrySet;
>
> @@ -39,6 +39,7 @@
> */
> public MapCopy(Map<K, V> m)
> {
> + data = new ArrayList<Entry<K, V>>(m.size());
> for (Map.Entry<K, V> me : m.entrySet())
> {
> if (me == null)
> @@ -50,7 +51,7 @@
>
> public MapCopy()
> {
> - this(new HashMap<K, V>());
> + this(new HashMap<K, V>(0));
> }
>
> /**
>
> Modified: core/trunk/src/main/java/org/jboss/cache/util/
> SimpleImmutableEntry.java
> ===================================================================
> --- core/trunk/src/main/java/org/jboss/cache/util/
> SimpleImmutableEntry.java 2007-08-24 17:12:24 UTC (rev 4437)
> +++ core/trunk/src/main/java/org/jboss/cache/util/
> SimpleImmutableEntry.java 2007-08-24 17:14:16 UTC (rev 4438)
> @@ -45,6 +45,8 @@
> @Override
> public boolean equals(Object o)
> {
> + if (!(o instanceof Map.Entry))
> + return false;
> Map.Entry e2 = (Map.Entry) o;
> return (getKey() == null ? e2.getKey() == null : getKey
> ().equals(e2.getKey()))
> && (getValue() == null ? e2.getValue() == null :
> getValue().equals(e2.getValue()));
>
> Modified: core/trunk/src/main/java/org/jboss/cache/util/Util.java
> ===================================================================
> --- core/trunk/src/main/java/org/jboss/cache/util/Util.java
> 2007-08-24 17:12:24 UTC (rev 4437)
> +++ core/trunk/src/main/java/org/jboss/cache/util/Util.java
> 2007-08-24 17:14:16 UTC (rev 4438)
> @@ -73,27 +73,30 @@
> MapModifications mods = new MapModifications();
>
> // let's start with what's been added and modified.
> - for (Object key : post.keySet())
> + for (Map.Entry me : post.entrySet())
> {
> + Object key = me.getKey();
> + Object value = me.getValue();
> if (pre.containsKey(key))
> {
> - if (!post.get(key).equals(pre.get(key)))
> + if (!value.equals(pre.get(key)))
> {
> - mods.modifiedEntries.put(key, post.get(key));
> + mods.modifiedEntries.put(key, value);
> }
> }
> else
> {
> - mods.addedEntries.put(key, post.get(key));
> + mods.addedEntries.put(key, value);
> }
> }
>
> // now the removed entries.
> - for (Object key : pre.keySet())
> + for (Map.Entry me : pre.entrySet())
> {
> + Object key = me.getKey();
> if (!post.containsKey(key))
> {
> - mods.removedEntries.put(key, pre.get(key));
> + mods.removedEntries.put(key, me.getValue());
> }
> }
>
>
> _______________________________________________
> jbosscache-commits mailing list
> jbosscache-commits(a)lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jbosscache-commits
--
Manik Surtani
Lead, JBoss Cache
JBoss, a division of Red Hat
17 years, 4 months
Re: [jbosscache-dev] JBoss Cache weakness handling heuristic transaction outcomes - [Fwd: [Fwd: New case comment notification. Case Number 00017677]]
by Manik Surtani
On 21 Aug 2007, at 15:44, Jonathan Halliday wrote:
> Manik Surtani wrote:
>> Sorry about the slow response on this.
>> While making JBC an XA resource is on the roadmap, it isn't
>> something scheduled for any imminent release [1], as this is a
>> pretty big change for the JBC codebase (and more importantly, a
>> big feature change which would involve a lot of compatibility
>> testing).
>> For the time being, treating STATUS_UNKNOWN as a rollback would
>> help, but only provided the database (and any other resources
>> participating in the tx) has rolled back as well. Jonathan,
>> correct me if I am wrong, but there is no way to know this unless
>> we are an XA resource as well, am I right?
>
> Actually in heuristic outcomes you still won't necessarily know
> what the db did. The transaction manger will tell you what it
> decided, but not what each individual resource actually did. For
> that you would need JBossTS specific code rather than general
> XAResource code. You can partially address that by making the cache
> the last resource but you won't eliminate it entirely.
>
>> So is it reasonable to treat a STATUS_UNKNOWN as a rollback, and
>> document this limitation, until JBCACHE-70?
>
> yes, or toss anything that is affected out of the cache and let it
> be reread from the db on the next tx, which would prevent you ever
> getting out of sync. Or course that assumes the data is backed by
> some store e.g. the db, which is the case only for EJBs. General
> purpose use of the cache is a more difficult case.
Perhaps a switch for this behaviour? By default, do a rollback,
unless -Dorg.jboss.cache.tx.heuristic_outcome_purge = true?
What do you guys think?
Cheers,
--
Manik Surtani
Lead, JBoss Cache
JBoss, a division of Red Hat
17 years, 4 months
Branch and tag maintenance
by Manik Surtani
I'd like to normalise and clean up the naming of branches and tags.
What I propose going forward is on the wiki. Please have a look and
comment asap
http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossCacheDevelopment
See section under "Branches and tags" and "Legacy branches and tags".
One of the things I'd like to do is to move the old imported branches
and tags to conform to this naming standard.
Cheers,
--
Manik Surtani
Lead, JBoss Cache
JBoss, a division of Red Hat
17 years, 4 months
DummyTransaction and DumyTransactionManager
by Manik Surtani
WRT JBCACHE-1167 I'm writing a test to create this situation where
JBC's Sync is called with a STATUS_UKNOWN and I notice that the
OrderedSynchronizationHandler and DummyTransaction in JBoss Cache
swallow any exceptions in afterCompletion(), simply logging the outcome.
See http://fisheye.jboss.org/browse/JBossCache/core/tags/
JBossCache_1_4_1_SP4/src/org/jboss/cache/transaction/
DummyTransaction.java?r=1566
Lines 269 - 274.
Makes unit testing pretty tough if the TM swallows the failure here. ;)
Jonathan, how does JBossTS behave (or how should any TM behave) at
this stage? I'm assuming keep the exception, set status to
STATUS_UNKNOWN for the remaining syncs, and then throw the exception?
Brian, how would this affect the BatchModeTM, which relies on the
DummyTM? Do you ever have a case of more than one transaction
participant in a "batch"?
Cheers,
Manik
On 16 Aug 2007, at 11:46, Jonathan Halliday wrote:
>
> Hi Manik
>
> Although this support issue is ultimately an Oracle problem, it
> does expose a weakness in the JBoss Cache. Where an XA transaction
> has a heuristic outcome, the status reported to the afterCompletion
> synchronization is STATUS_UNKNOWN (5), since JTA does not handle
> heuristics. In this case, the cache Synchronization fails to
> rollback the cache tx. This leaves the app server in a bad (i.e.
> locked) state even though the XA transaction has been resolved.
>
> At first glance it looks like the afterCompletion synchronization
> should treat a STATUS_UNKNOWN as a cause for rollback as well as
> logging the error as they currently do. Unfortunately the fix may
> be more complex than that, since the db may have committed rather
> than rolled back, meaning the cache would be out of sync with the
> db if you rolled it back. What you really need is proper XA
> resources rather than synchronizations for the cache, but that is a
> much bigger job.
>
> [ EAP 4.2, i.e. cache 1.4.1.SP3]
> 2007-08-15 16:24:13,734,ERROR,,,,
> [OrderedSynchronizationHandler],JMS SessionPool Worker-0,failed
> calling afterCompletion() on TxInte
> rceptor.LocalSynchronizationHandler
> (gtx=GlobalTransaction:<10.25.98.165:3048>:2, tx=TransactionImple <
> ac, BasicAction: a1962a5:be3: 46c36d0d:da status:
> ActionStatus.COMMITTED >)^M
> 11806 java.lang.IllegalStateException: illegal status: 5^M
> 11807 at org.jboss.cache.interceptors.TxInterceptor
> $RemoteSynchronizationHandler.afterCompletion(TxInterceptor.java:
> 1088)^M
> 11808 at org.jboss.cache.interceptors.TxInterceptor
> $LocalSynchronizationHandler.afterCompletion(TxInterceptor.java:
> 1175)^M
> 11809 at
> org.jboss.cache.interceptors.OrderedSynchronizationHandler.afterComple
> tion(OrderedSynchronizationHandler.java:83)^M
> 11810 at
> com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.
> afterCompletion(SynchronizationImple.java:136)^M
> 11811 at
> com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.afterCompletion(
> TwoPhaseCoordinator.java:340)^M
>
>
> Regards
>
> Jonathan.
>
>
>
>
> -------- Original Message --------
> Subject: New case comment notification. Case Number 00017677
> Date: Thu, 16 Aug 2007 10:31:36 +0000 (GMT)
> From: Jonathan Halliday <jhallida(a)redhat.com>
> To: support-as(a)jboss.com <support-as(a)jboss.com>
>
> Jonathan Halliday has added a comment to case 00017677 : "JBoss 4.2
> and OracleXA Error - XAException.XAER_RMERR". Please read the
> comment below and then click on the link to respond appropriately.
>
> Comment:
> The logs show that Oracle is throwing an error during an XA commit.
> Since it's in the second phase of the 2PC, this leads to a
> heuristic outcome to the transaction. Unfortunately JBoss cache is
> not handling this well, leading it to keep locks on some data.
> Subsequent errors cascade from this. You need to take up the
> matter with DataDirect and Oracle to determine why it's failing on
> the commit.
>
> spy(JMS SessionPool Worker-0)>> XAResource[5].commit(Xid xid,
> boolean onePhase)
>
> spy(JMS SessionPool Worker-0)>> xid =
> 131075-312D613139363261353A6265-613139363261353A626533
>
> spy(JMS SessionPool Worker-0)>> onePhase = false
>
> JJH spy(JMS SessionPool Worker-0)>> *** XAException
> javax.transaction.xa.XAException: [DataDirect][Oracle JDBC Driver]
> Oracle XA Error Occurred. Native Error: 1 -3=XAER_RMERR ***
>
> javax.transaction.xa.XAException: [DataDirect][Oracle JDBC Driver]
> Oracle XA Error Occurred. Native Error: 1
>
> at com.ddtek.jdbcx.oracle.OracleImplXAResource.checkError(Unknown
> Source)
>
> at com.ddtek.jdbcx.oracle.OracleImplXAResource.commit(Unknown Source)
>
> at com.ddtek.jdbcx.base.BaseXAResource.commit(Unknown Source)
>
> at com.ddtek.jdbcspy.SpyXAResource.commit(Unknown Source)
>
> at org.jboss.resource.adapter.jdbc.xa.XAManagedConnection.commit
> (XAManagedConnection.java:175)
>
> at
> org.jboss.resource.connectionmanager.xa.JcaXAResourceWrapper.commit
> (JcaXAResourceWrapper.java:53)
>
> at
> com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord.topL
> evelCommit(XAResourceRecord.java:487)
>
> https://na1.salesforce.com/50030000003QAVl
>
>
>
>
> --
> ------------------------------------------------------------
> Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod
> Street, Windsor, Berkshire, SI4 1TE, United Kingdom.
> Registered in UK and Wales under Company Registration No. 3798903
> Directors: Michael Cunningham (USA), Charlie Peters (USA) and David
> Owens (Ireland)
--
Manik Surtani
Lead, JBoss Cache
JBoss, a division of Red Hat
17 years, 4 months
JBoss Cache weakness handling heuristic transaction outcomes - [Fwd: [Fwd: New case comment notification. Case Number 00017677]]
by Galder Zamarreno
Forwarding to JBossCache dev.
Manik et all,
Thoughts on this?
Cheers,
-------- Original Message --------
Subject: [Fwd: New case comment notification. Case Number 00017677]
Date: Thu, 16 Aug 2007 11:46:18 +0100
From: Jonathan Halliday <jonathan.halliday(a)redhat.com>
To: manik.surtani(a)jboss.com
CC: support-transactions(a)jboss.com, support-as(a)jboss.com
Hi Manik
Although this support issue is ultimately an Oracle problem,
it does expose a weakness in the JBoss Cache. Where an XA
transaction has a heuristic outcome, the status reported to
the afterCompletion synchronization is STATUS_UNKNOWN (5),
since JTA does not handle heuristics. In this case, the
cache Synchronization fails to rollback the cache tx. This
leaves the app server in a bad (i.e. locked) state even
though the XA transaction has been resolved.
At first glance it looks like the afterCompletion
synchronization should treat a STATUS_UNKNOWN as a cause for
rollback as well as logging the error as they currently do.
Unfortunately the fix may be more complex than that, since
the db may have committed rather than rolled back, meaning
the cache would be out of sync with the db if you rolled it
back. What you really need is proper XA resources rather
than synchronizations for the cache, but that is a much
bigger job.
[ EAP 4.2, i.e. cache 1.4.1.SP3]
2007-08-15
16:24:13,734,ERROR,,,,[OrderedSynchronizationHandler],JMS
SessionPool Worker-0,failed calling afterCompletion() on
TxInte
rceptor.LocalSynchronizationHandler(gtx=GlobalTransaction:<10.25.98.165:3048>:2,
tx=TransactionImple < ac, BasicAction: a1962a5:be3:
46c36d0d:da status: ActionStatus.COMMITTED >)^M
11806 java.lang.IllegalStateException: illegal status: 5^M
11807 at
org.jboss.cache.interceptors.TxInterceptor$RemoteSynchronizationHandler.afterCompletion(TxInterceptor.java:1088)^M
11808 at
org.jboss.cache.interceptors.TxInterceptor$LocalSynchronizationHandler.afterCompletion(TxInterceptor.java:1175)^M
11809 at
org.jboss.cache.interceptors.OrderedSynchronizationHandler.afterCompletion(OrderedSynchronizationHandler.java:83)^M
11810 at
com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.afterCompletion(SynchronizationImple.java:136)^M
11811 at
com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.afterCompletion(TwoPhaseCoordinator.java:340)^M
Regards
Jonathan.
-------- Original Message --------
Subject: New case comment notification. Case Number 00017677
Date: Thu, 16 Aug 2007 10:31:36 +0000 (GMT)
From: Jonathan Halliday <jhallida(a)redhat.com>
To: support-as(a)jboss.com <support-as(a)jboss.com>
Jonathan Halliday has added a comment to case 00017677 :
"JBoss 4.2 and OracleXA Error - XAException.XAER_RMERR".
Please read the comment below and then click on the link to
respond appropriately.
Comment:
The logs show that Oracle is throwing an error during an XA
commit. Since it's in the second phase of the 2PC, this
leads to a heuristic outcome to the transaction.
Unfortunately JBoss cache is not handling this well, leading
it to keep locks on some data. Subsequent errors cascade
from this. You need to take up the matter with DataDirect
and Oracle to determine why it's failing on the commit.
spy(JMS SessionPool Worker-0)>> XAResource[5].commit(Xid
xid, boolean onePhase)
spy(JMS SessionPool Worker-0)>> xid =
131075-312D613139363261353A6265-613139363261353A626533
spy(JMS SessionPool Worker-0)>> onePhase = false
JJH spy(JMS SessionPool Worker-0)>> *** XAException
javax.transaction.xa.XAException: [DataDirect][Oracle JDBC
Driver]Oracle XA Error Occurred. Native Error: 1
-3=XAER_RMERR ***
javax.transaction.xa.XAException: [DataDirect][Oracle JDBC
Driver]Oracle XA Error Occurred. Native Error: 1
at
com.ddtek.jdbcx.oracle.OracleImplXAResource.checkError(Unknown
Source)
at
com.ddtek.jdbcx.oracle.OracleImplXAResource.commit(Unknown
Source)
at com.ddtek.jdbcx.base.BaseXAResource.commit(Unknown Source)
at com.ddtek.jdbcspy.SpyXAResource.commit(Unknown Source)
at
org.jboss.resource.adapter.jdbc.xa.XAManagedConnection.commit(XAManagedConnection.java:175)
at
org.jboss.resource.connectionmanager.xa.JcaXAResourceWrapper.commit(JcaXAResourceWrapper.java:53)
at
com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord.topLevelCommit(XAResourceRecord.java:487)
https://na1.salesforce.com/50030000003QAVl
--
------------------------------------------------------------
Registered Address: Red Hat UK Ltd, Amberley Place, 107-111
Peascod Street, Windsor, Berkshire, SI4 1TE, United Kingdom.
Registered in UK and Wales under Company Registration No.
3798903 Directors: Michael Cunningham (USA), Charlie Peters
(USA) and David Owens (Ireland)
--
Galder Zamarreño
Sr. Software Maintenance Engineer
JBoss, a division of Red Hat
17 years, 4 months
Re: [jbosscache-dev] Cache Loader migration code
by Galder Zamarreno
Paul,
Thanks very much for doing this, but the classes that I'm after are in
none of those jars.
jboss-client.jar from 4.0.3.SP1 should be enough, so maybe it could go
into
http://repository.jboss.org/maven2/jboss/jbossas/core-libs/jboss-client ?
Cheers,
Paul Gier wrote:
> Hi Galder,
> I added the app server core libs for 4.0.3.SP1 here:
> http://repository.jboss.org/maven2/jboss/jbossas/core-libs
>
> Maven doesn't like having several jars for a single project, so I gave
> each of the jars separate artifactIds. Let me know if this structure
> works for you.
>
> Thanks,
> Paul
>
> Brian Stansberry wrote:
>> Galder Zamarreno wrote:
>>> Brian/Manik,
>>>
>>> As part of cacheloader-migration subproject in maven, I wanna to pull
>>> AS 4.0.3's jboss-minimal.jar so that I can build the migration jar.
>>>
>>> I've been digging through this and got a few questions:
>>>
>>> 1.- What's the difference between http://repository.jboss.com/,
>>> http://repository.jboss.org/ and http://repository.jboss.org/maven2?
>>> IIRC, repository.jboss.com is for AS ant builds. The
>>> http://repository.jboss.org/maven2 seems to be for maven builds.
>>> There seem to be differences between them. For example .com contains
>>> jbossas/core-libs/ whereas neither of the other two URLs do.
>>>
>>
>> http://repository.jboss.org is used by the AS build.
>> http://repository.jboss.org/maven2 is used by the maven builds.
>> http://repository.jboss.com is a legacy version of repository.jboss.org
>>
>> They match only to the extent that people need them to and expend
>> effort to make it happen. So your missing core-libs issue doesn't
>> surprise me.
>>
>>> 2.- I'm new to these repositories. Is there a way to search through
>>> these repositories without checking out the whole repo?
>>>
>>
>> What kind of search? A browser is a pretty easy way to poke around and
>> see what's there. Beyond that, you can just check out pieces; svn
>> doesn't make you checkout out the whole thing.
>>
>>> 3.- Seeing that JBC uses http://repository.jboss.org/maven2, would it
>>> be possible to create
>>> http://repository.jboss.org/maven2/jbossas/core-libs/4.0.3/lib and
>>> upload there the jboss-minimal.jar that I'm interested in? Can you
>>> think a better place for it? Adding it should as easy as checking it
>>> out http://repository.jboss.org/maven2/jbossas/, creating the lib dir
>>> and uploading the jar.
>>>
>>
>> You'd need to make a pom, at least a trivial one a la
>> http://repository.jboss.org/maven2/jgroups/jgroups/2.2.8/jgroups-2.2.8.pom
>>
>>
>> Suggest you contact Paul Gier (copied) and get his input on how he'd
>> want this done. If you add a dir to maven2 with a naming scheme
>> contrary to the long-term direction, he's just going to have to fix it
>> some day.
>>
>>> Cheers,
>>>
>>> Galder Zamarreno wrote:
>>>> Manik,
>>>>
>>>> The library pulled for cacheloader-migration is incorrect:
>>>>
>>>> <dependency>
>>>> <groupId>org.jboss.aop</groupId>
>>>> <artifactId>jboss-aop</artifactId>
>>>> <version>2.0.0-SNAPSHOT</version>
>>>> </dependency>
>>>>
>>>> The unit tests are designed to generate 1.x format stores and
>>>> transform them to 2.x. It assumes that you have migration's
>>>> lib/jboss-minimal (from 4.0.3) in the junit classpath.
>>>>
>>>> However, these tests would still work if you use a later MS
>>>> (MarshalledValue) class because in the test you're both generating
>>>> the store and tranforming it. It was never my intention to pull AOP
>>>> 2.0 to get MS, the idea was to have MS from
>>>> migration/lib/jboss-minimal from 4.0.3:
>>>>
>>>> <path id="migration.library.classpath">
>>>> <fileset dir="${retro.lib.dir}">
>>>> <include name="jboss-logging-spi.jar"/>
>>>> </fileset>
>>>> <fileset dir="${migration.lib.dir}">
>>>> <include name="*.jar"/>
>>>> </fileset>
>>>> </path>
>>>>
>>>> <target name="functionaltests-migration"
>>>> depends="compile-cache,test-jar,unittests-init"
>>>> description="Runs cache loader functional tests">
>>>> <property name="jgroups.stack" value="udp"/>
>>>> <echo>Running functional tests using ${jgroups.stack} jgroups
>>>> stack</echo>
>>>> <junit printsummary="yes" timeout="${junit.timeout}"
>>>> fork="yes" maxmemory="512m">
>>>> <classpath refid="library.classpath"/>
>>>> <classpath refid="output.classpath"/>
>>>> <classpath refid="migration.library.classpath"/>
>>>> <classpath refid="migration.output.classpath"/>
>>>> <jvmarg value="-Dbind.address=${bind.address}"/>
>>>> <jvmarg value="-Dsun.lang.ClassLoader.allowArraySyntax=true"/>
>>>> <jvmarg value="-Djgroups.stack=${jgroups.stack}"/>
>>>> <jvmarg value="-Djava.net.preferIPv4Stack=true"/>
>>>> <jvmarg value="-Dtest.jar.dir=${output.dir}"/>
>>>> <jvmarg value="-Dlib.dir=${lib.dir}"/>
>>>> <formatter
>>>> classname="org.jboss.cache.util.XMLUnitTestFormatter" usefile="true"
>>>> extension="-${jgroups.stack}.xml"/>
>>>> <batchtest todir="${build.reports}">
>>>> <fileset dir="${migration.functional.tests.dir}">
>>>> <include name="**/*Test.*"/>
>>>> <patternset refid="junit.excludes"/>
>>>> </fileset>
>>>> </batchtest>
>>>> </junit>
>>>> </target>
>>>>
>>>>
>>>> I didn't wanna make the UTs rely on 1.x (generated with JBC 1.x)
>>>> produced stores, which is why I created the examples. examples/data
>>>> contains stores generated with JBC 1.x and I bet (need to try) that
>>>> if you try running the examples, they will fail.
>>>>
>>>> Now, how to pull jboss-minimal from 4.0.3 (which is what JBC 1.x
>>>> uses) from maven is unknown to me right now. I need a bit of time to
>>>> sort this out.
>>>>
>>>> Thanks for your patience.
>>>>
>>>> Galder Zamarreno wrote:
>>>>> Ok, I'll look into it. Don't think I'll have time to look into it
>>>>> today though. I'll try doing it this evening.
>>>>>
>>>>> Manik Surtani wrote:
>>>>>> Do a mvn install though - the dependencies it packages in the zip
>>>>>> file is horrendous! :)
>>>>>>
>>>>>> On 15 Aug 2007, at 11:45, Galder Zamarreno wrote:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Manik Surtani wrote:
>>>>>>>> Ok, here you go
>>>>>>>> https://svn.jboss.org/repos/jbosscache/cacheloader_migration/
>>>>>>>> Tests run and everything works, just wondering why you need
>>>>>>>> MarshalledValue and whether there is an easier way around this
>>>>>>>> (currently pulls in JBoss AOP and a whole lot of crap for this
>>>>>>>> one file)
>>>>>>>
>>>>>>> It's JBoss AOP stuff we used in JBC 1.x to marshall data to some
>>>>>>> cache loaders (File and JDBC), hence I need it so that I can
>>>>>>> transform 1.x data to 2.x. At the time, I couldn't find any other
>>>>>>> way of dealing with this as the this class had
>>>>>>> changed/moved/did-not-exist (can't remember exactly which of the
>>>>>>> 3) in AOP used in 2.x.
>>>>>>>
>>>>>>>> On 15 Aug 2007, at 08:57, Galder Zamarreno wrote:
>>>>>>>>> Manik Surtani wrote:
>>>>>>>>>> Sort of.
>>>>>>>>>
>>>>>>>>> I guessed so. I used Maven 1.0 around 3 years ago and I do
>>>>>>>>> remember the pains of it :)
>>>>>>>>>
>>>>>>>>>> I guess it could live on the top level, alongside core and
>>>>>>>>>> pojo as 'migration' and have a dependency on core.
>>>>>>>>>
>>>>>>>>> That sounds fine by me.
>>>>>>>>>
>>>>>>>>>> On 15 Aug 2007, at 08:48, Galder Zamarreno wrote:
>>>>>>>>>>> Manik Surtani wrote:
>>>>>>>>>>>> Guys,
>>>>>>>>>>>> Does this still need to live in 2.1.0? Can I delete it from
>>>>>>>>>>>> here? It is still in the 2.0.0 src tree.
>>>>>>>>>>>
>>>>>>>>>>> I guess u're refering to the code I wrote to migrate a 1.x
>>>>>>>>>>> cache store to 2.0 format? Ideally, I'd like it to be there
>>>>>>>>>>> for the duration of the 2.x branch in case someone uploads
>>>>>>>>>>> directly from 1.x to 2.1. Is it causing you any troubles with
>>>>>>>>>>> maven?
>>>>>>>>>>>
>>>>>>>>>>>> Cheers,
>>>>>>>>>>>> --
>>>>>>>>>>>> Manik Surtani
>>>>>>>>>>>> Lead, JBoss Cache
>>>>>>>>>>>> JBoss, a division of Red Hat
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> jbosscache-dev mailing list
>>>>>>>>>>>> jbosscache-dev(a)lists.jboss.org
>>>>>>>>>>>> https://lists.jboss.org/mailman/listinfo/jbosscache-dev
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Galder Zamarreño
>>>>>>>>>>> Sr. Software Maintenance Engineer
>>>>>>>>>>> JBoss, a division of Red Hat
>>>>>>>>>> --
>>>>>>>>>> Manik Surtani
>>>>>>>>>> Lead, JBoss Cache
>>>>>>>>>> JBoss, a division of Red Hat
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Galder Zamarreño
>>>>>>>>> Sr. Software Maintenance Engineer
>>>>>>>>> JBoss, a division of Red Hat
>>>>>>>> --
>>>>>>>> Manik Surtani
>>>>>>>> Lead, JBoss Cache
>>>>>>>> JBoss, a division of Red Hat
>>>>>>>
>>>>>>> --
>>>>>>> Galder Zamarreño
>>>>>>> Sr. Software Maintenance Engineer
>>>>>>> JBoss, a division of Red Hat
>>>>>>
>>>>>> --
>>>>>> Manik Surtani
>>>>>>
>>>>>> Lead, JBoss Cache
>>>>>> JBoss, a division of Red Hat
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>>
>
--
Galder Zamarreño
Sr. Software Maintenance Engineer
JBoss, a division of Red Hat
17 years, 4 months
Migration to Subversion and Maven
by Manik Surtani
Ok, this has finally happened, and the old CVS repo is frozen.
I'm still in the process of reorganising the new SVN repo, and will
send out an email once this is done, probably tomorrow morning (GMT +
1).
Cheers,
--
Manik Surtani
Lead, JBoss Cache
JBoss, a division of Red Hat
17 years, 4 months