|
Glassfish example source code file (LogStrings.properties)
The Glassfish LogStrings.properties source code# # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. # # Copyright (c) 2004-2010 Oracle and/or its affiliates. All rights reserved. # # The contents of this file are subject to the terms of either the GNU # General Public License Version 2 only ("GPL") or the Common Development # and Distribution License("CDDL") (collectively, the "License"). You # may not use this file except in compliance with the License. You can # obtain a copy of the License at # https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html # or packager/legal/LICENSE.txt. See the License for the specific # language governing permissions and limitations under the License. # # When distributing the software, include this License Header Notice in each # file and include the License file at packager/legal/LICENSE.txt. # # GPL Classpath Exception: # Oracle designates this particular file as subject to the "Classpath" # exception as provided by Oracle in the GPL Version 2 section of the License # file that accompanied this code. # # Modifications: # If applicable, add the following below the License Header, with the fields # enclosed by brackets [] replaced by your own identifying information: # "Portions Copyright [year] [name of copyright owner]" # # Contributor(s): # If you wish your version of this file to be governed by only the CDDL or # only the GPL Version 2, indicate your decision by adding "[Contributor] # elects to include this software in this distribution under the [CDDL or GPL # Version 2] license." If you don't indicate a single choice of license, a # recipient has the option to distribute your version of this file under # either the CDDL, the GPL Version 2 or to extend the choice of license to # its licensees as provided above. However, if you add GPL Version 2 code # and therefore, elected the GPL Version 2 license, then the option applies # only if the new code is made subject to such option by the copyright # holder. # example.message1=EJB0001:Test Message. Parameter 1={0} parameter 2={1} example.message2=EJB0002:Date Message. Parameter 1={0,date} Parameter 2={1,time} example.message3=EJB0003:Number Message. Parameter 1={0,number,integer} #ejb.generate_code=EJB5001: Exception [{0}] occurred generating code for ejb #ejb.generate_code_exception=EJB5002: Exception generating code for ejb # ejb.codegenrequiredchk_exception=EJB5007: Exception occurred in codegen required check ejb.ejb_exception=EJB5013: Some EJB exception occurred : [{0}] ejb.resolve_object_exception=EJB5014: Exception resolving object EJB5013.diag.cause.1=Problem occurred while deserializing stateful bean state. EJB5013.diag.check.1=Check the application classpath to ensure that all classes needed during deserialization are available. ejb.monitor_mbean_exception=EJB5015: Exception while adding method monitoring mbean ejb.basecontainer_exception=EJB5016: Exception creating BaseContainer : [{0}] ejb.preinvoke_exception=EJB5017: Exception while running pre-invoke : ejbName = [{0}] EJB5017.diag.cause.1=An error occurred during the removal of an entity bean. One common cause is when the application throws a system exception from the ejbRemove method of an entity bean. EJB5017.diag.check.1=Check the exception stack trace to see if the exception originated from the entity bean implementation class. ejb.some_unmapped_exception=EJB5018: An exception was thrown during an ejb invocation on [{0}] ejb.some_app_and_sys_exception=EJB5019: Some application or system exception occurred : [{0}] ejb.unregister_monitormbean_exception=EJB5020: Exception while unregistering monitormbean ejb.incomplete_sessionbean_txn_exception=EJB5021: Session bean transaction is incomplete : [{0}] ejb.incomplete_msgdrivenbean_txn_exception=EJB5022: Message-driven bean transaction is incomplete : [{0}] ejb.register_MonitoringMBean_exception=EJB5023: Exception while registering monitormbean ejb.register_ChildMonitorMBean_exception=EJB5024: Exception while registering child monitormbean ejb.unregister_ChildMonitorMBean_exception=EJB5024: Exception while unregistering child monitormbean : [{0}] ejb.release_context_exception=EJB5025: Exception while releasing ejb context : [{0}] ejb.local_remove_exception=EJB5026: Exception in removing ejb local object : [{0}] ejb.remove_bean_exception=EJB5027: Exception in removing ejb : [{0}] ejb.get_ejb_local_object_exception=EJB5028: Exception in getting ejb local object : [{0}] ejb.get_ejb_context_exception=EJB5029: Exception getting ejb context : [{0}] ejb.ejb_comparison_exception=EJB5030: Exception while comparing ejbs : [{0}] ejb.remote_exception=EJB5031: Some remote exception occurred while refreshing rob : [{0}] : [{0}] EJB5031.diag.cause.1=An error occurred while looking up a Read Only Bean Notifier. The most common cause for this failure is that the string supplied to the getReadOnlyBeanNotifier method either does not refer to a read-only bean. EJB5031.diag.check.1=Check the application code that calls this method to make sure the string passed in refers to a valid read-only bean. ejb.bean_creation_exception=EJB5032: Exception in creating new bean : [{0}] ejb.illegal_state_exception=EJB5033: Illegal state exception occurred : [{0}] ejb.appliaction_or_unchecked_exception=EJB5035: Some application or unchecked exception occurred : [{0}] ejb.runtime_exception=EJB5039: Some runtime exception occurred : [{0}] ejb.postinvoke_exception=EJB5041: Exception while running postinvoke : [{0}] ejb.setting_beancontext_exception=EJB5042: Exception setting bean context : [{0}] ejb.subclass_cleanup_exception=EJB5043: Exception cleaning up ejb subclass : [{0}] ejb.name_not_found_exception=EJB5044: Name not found exception : [{0}] ejb.class_cast_exception=EJB5045: Class cast exception : [{0}] # ejb.jms_exception=EJB5046: Some exception in jms : [{0}] ejb.new_attribute_exception=EJB5048: Exception creating new attribute ejb.getattribute_exception=EJB5049: Exception obtaining attribute [{0}] ejb.printstacktrace_exception=EJB5050: Exception in printStackTrace ejb.super_printstacktrace_exception=EJB5051: Exception in printStackTrace of super ejb.session_close_exception=EJB5052: Exception closing session : [{0}] ejb.serversessionpool_close_exception=EJB5053: Exception closing server session pool : [{0}] ejb.topicsession_close_exception=EJB5054: Exception closing topic session: [{0}] ejb.init_exception=EJB5055: Exception in init of ejb : [{0}] ejb.undeploy_exception=EJB5056: Exception in undeploying the bean : [{0}] ejb.create_session_exception=EJB5057: Exception creating session : [{0}] ejb.sessionfile_cachestore_exception=EJB5058: Exception creating sessionfilecachestore ejb.ejb_getstub_exception=EJB5058: Exception while getting ejb stub : [{0}] ejb.create_ejbobject_exception=EJB5059: Exception creating ejb object : [{0}] ejb.create_ejblocalobject_exception=EJB5060: Exception creating ejb local object [{0}] ejb.removebean_ejbexception=EJB5061: Exception removing ejb : [{0}] ejb.remove_exception=EJB5062: Exception removing bean : [{0}] ejb.removebean_generic_exception=EJB5063: Some exception removing bean : [{0}] ejb.aftercompletion_exception=EJB5064: Exception in afterCompletion : [{0}] ejb.deserialize_exception=EJB5065: Exception in deserializing [{0}] ejb.generic_exception=EJB5066: Some generic ejb exception : [{0}] ejb.ejbactivate_exception=EJB5067: Exception activating ejb : [{0}] ejb.serialize_exception=EJB5068: Exception in serializing : [{0}] ejb.get_ejbcreate_method_exception=EJB5069: Exception getting ejbcreate method : [{0}] EJB5069.diag.cause.1=The bean's Home or LocalHome does not define a no-arg create method. EJB5069.diag.check.1=Check the Home or LocalHome interface for the appropriate create method signature. Running the verifier will help identify the error as well. ejb.stateless_ejbcreate_exception=EJB5070: Exception creating stateless session bean : [{0}] ejb.remote_or_txnrollback_exception=EJB5071: Some remote or transactional roll back exception occurred EJB5071.diag.cause.1=Some problem occurred during the beforeCompletionphase of the transaction lifecycle. This error often happens when application code throws a system exception from its ejbStore method or if the transaction manager encounters a system exception. EJB5071.diag.check.1=Check the stack trace to see if the exception originated from the application's ejbStore method. Also check the resource configuration to ensure that all resource managers involved in the transaction are configured properly and healthy. ejb.initializehome_exception=EJB5072: Error initializing home of container: [{0}] ejb.parseint_exception=EJB5083: Error -- invalid maxMsgs prop = [{0}] ejb.invalid_msgbean_poolsize=EJB5085: Error -- invalid msg bean pool size = [{0}] ejb.invalid_value=EJB5087: [{0}]: Invalid value [{1}] for [{2}] , use [{3}] instead ejb.numberformat_exception=EJB5088: Number format exception ejb.invalid_cleanup_interval=EJB5089: Error -- invalid cleanup interval prop = [{0}] ejb.create_container_exception=EJB5090: Exception in creating EJB container [{0}] EJB5090.diag.cause.1=Problem during ejb container runtime initialization. See stack trace for more details. Some common causes are global JNDI name conflicts, class-not-found errors, and configuration errors for resources needed by the ejb. EJB5090.diag.check.1=If the ejb has a Remote view, check that its JNDI name does not clash with any other ejb's JNDI name or any other global JNDI name. Check that all needed classes are available to the ejb. Also ensure that any resources needed by the ejb are available. If the ejb uses a data source make sure the corresponding database is running. If it uses a queue makes sure the physical queue has been created. ejb.some_remote_mapped_exception=EJB5091:Exception occurred in postInvoke : [{0}] ejb.postinvoketx_exception=EJB5092:Exception occurred in postInvokeTx : [{0}] ejb.passivate_idle_exception=EJB5093:Exception occurred in passiveIdleBeans ejb.classloader_null_exception=EJB5094:container.getClassLoader() returned null ejb.select_victims_exception=EJB5095:Exception occurred in selectVictims() ejb.user_transaction_exception=EJB5096:Unable to lookup UserTransaction ejb.undeploy_exception=EJB5097:Exception during undeploy ejb.preInvokeTx_exception=EJB5098:Exception in preInvokeTx ejb.checkUnfinishedTx_exception=EJB5099:Exception in checkUnfinishedTx ejb.useClientTx_exception=EJB5100:Exception in useClientTx ejb.transaction_abort_exception=EJB5101:Transaction Aborted ejb.cmt_exception=EJB5102:Unable to complete container-managed transaction ejb.release_context_exception=EJB5103:Exception in releaseContext ejb.callEJBStore_exception=EJB5104:Exception in callEJBStore ejb.createContainer_exception=EJB5105:Exception in createContainer ejb.entitycontainer_exception=EJB5106:Exception in EntityContainer ejb.get_session_exception=EJB5107:Exception while getting server session ejb.timer_service_init_error=EJB5108:Unable to initialize EJB Timer Service. The possible cause is the timer resource is not configured correctly, the database has not been started, or the timer database table has not been created. ejb.timer_service_started=EJB5109:EJB Timer Service started successfully for data source [{0}] ejb.illegal_ejb_interface_override=EJB5110:Attempt to override reserved ejb interface method [{0}] in [{1}]. Override will be ignored. ejb.bean_class_method_not_found=EJB5111:Bean class for ejb [{0}] does not define a method corresponding to [{1}] interface method [{2}] EJB5111.diag.cause.1=This error indicates a mismatch in the required method signature rules between a method defined on a [Home, Remote, LocalHome, Local] interface and the corresponding bean implementation class. E.g., this would happen if a create method in a Home interface did not have a matching ejbCreate method in the bean class. EJB5111.diag.check.1=Run the verifier tool to check that the methods defined on the bean class are correct with respect to the exposed interface. ejb.cancel_entity_timer=EJB5112:Error cancelling timer with pkey [{0}] ejb.cancel_entity_timers=EJB5113:Error cancelling timers for container [{0}] and pkey [{1}] ejb.destroy_timers_error=EJB5114:Error destroying timers for container [{0}] ejb.destroy_timer_error=EJB5115:Error destroying timer [{0}] ejb.deliver_missed_timer=EJB5116:Delivering missed timer for timer id [{0}]. Timer should have fired at [{1}] ejb.create_timer_failure=EJB5117:Timer creation failed for container [{0}] primary key [{1}] and info [{2}] EJB5117.diag.cause.1=Error while creating the persistent representation of an ejb timer. This typically means there is some configuration error or runtime problem with the ejb timer service data source. EJB5117.diag.check.1=Double-check the JDBC data source (and its associated connection pool) assigned to the timer-datasource element in domain.xml. Common causes are that the database is not running, the timer table has not been created within that database, or that the connection pool's JDBC driver URL information is incorrect. ejb.remove_timer_failure=EJB5118:Failure removing timer bean [{0}] ejb.timer_exceeded_max_deliveries=EJB5119:Expunging timer [{0}] after [{1}] failed deliveries ejb.timer_service_last_shutdown=EJB5120:EJB Timer Service last shutdown at [{0}] ejb.timer_service_shutdown_unknown=EJB5121:EJB Timer Service shutdown info [{0}] not found. Shutdown time unknown. ejb.timer_service_shutdown_msg=EJB5122:EJB Timer Service shutdown at [{0}] ejb.tx_timeout=EJB5123:Rolling back timed out transaction [{0}] for [{1}] ejb.commit_option_A_not_supported=EJB5124:Commit Option A is not currently supported. Using Commit Option B for [{0}] ejb.add_cleanup_task_error=EJB5125:Cannot add idle bean cleanup task ejb.entity_add_async_task_ERROR=EJB5126:Cannot add asynchronous task ejb.sfsb_passivation_error=EJB5127:Error during passivation of [{0}] ejb.sfsb_activation_error=EJB5128:Error during Stateful Session Bean activation for key [{0}] EJB5128.diag.cause.1=A problem occurred while the container was activating a stateful session bean. One possible cause is that the bean code threw a system exception from its ejbActivate method. EJB5128.diag.check.1=Check the stack trace to see whether the exception was thrown from the ejbActivate method and if so double-check the application code to determine what caused the exception. ejb.after_completion_error=EJB5129:Error in ContainerSynchronization::afterCompletion EJB5129.diag.cause.1=An error occurred during the afterCompletion phase of the transaction lifecycle. EJB5129.diag.check.1=Check stack trace for details of error encountered by ejb container ejb.sfsb_helper_add_idle_passivator_task_failed=EJB5130:Error while adding idle bean passivator task ejb.sfsb_helper_add_remove_passivator_task_failed=EJB5131:Error while adding idle bean removal task ejb.sfsb_helper_get_passivation_dir_failed=EJB5132:Could not determine passivation directory ejb.sfsb_helper_create_sfsbmgr_failed=EJB5133:Error while creating SFSBStore manager ejb.sfsb_helper_remove_idle_beans_failed=EJB5134:Error while removing idle beans ejb.sfsb_helper_remove_expired_beans_failed=EJB5135:Error while removing expired beans ejb.sfsb_storemgr_mdirs_failed=EJB5136:Creation of passivation directory failed for {0} ejb.sfsb_storemgr_init_failed=EJB5137:Initialization of store manager failed. Directory: {0} ejb.sfsb_storemgr_init_exception=EJB5138:Initialization of store manager failed ejb.sfsb_storemgr_loadstate_failed=EJB5139:Error while loading bean state from store. Key: {0} ejb.sfsb_storemgr_loadstate_exception=EJB5140:Error while loading bean state from store ejb.sfsb_storemgr_removestate_failed=EJB5141:Error while removing bean state from store. Key: {0} ejb.sfsb_storemgr_removestate_exception=EJB5142:Error while removing bean state from store ejb.sfsb_storemgr_removedir_failed=EJB5143:Error while removing passivation directory: {0} ejb.sfsb_storemgr_removedir_exception=EJB5144:Error while removing passivation directory ejb.sfsb_storemgr_removeall_failed=EJB5145:Error while undeploying store manager ejb.sfsb_storemgr_removeall_exception=EJB5146:Error while undeploying store manager ejb.sfsb_storemgr_savestate_failed=EJB5147:Error while saving bean state to store. Key: {0} ejb.sfsb_storemgr_savestate_exception=EJB5148:Error while saving bean state to store ejb.sfsb_persistmgr_oninit_failed=EJB5149:Error while initializing file store manager {0} ejb.sfsb_persistmgr_oninit_exception=EJB5150:Error while initializing file store manager ejb.context_failure_jacc=EJB5151:Error while creating enterprise bean context for {0} during jacc callback base.stats.method.nomethods=EJB5152:No methods registered yet for monitoring for {0} ; {1} ; {2} base.stats.method.register.monreg.error=EJB5153:Error while registering method {3} for {0} ; {1} ; {2} base.stats.method.register.error=EJB5154:Unexpected error while registering method {3} for {0} ; {1} ; {2} base.stats.method.unregister.monreg.error=EJB5155:Error while unregistering method {3} for {0} ; {1} ; {2} base.stats.method.unregister.error=EJB5156:Unexpected error while unregistering method {3} for {0} ; {1} ; {2} base.stats.ejb.register.monreg.error=EJB5157:Error while registering container stats for {0} ; {1} ; {2} base.stats.ejb.register.error=EJB5158:Unexpected error while registering container stats for {0} ; {1} ; {2} base.stats.ejb.unregister.monreg.error=EJB5159:Error while unregistering container stats for {0} ; {1} ; {2} base.stats.ejb.unregister.error=EJB5160:Unexpected error while unregistering container stats for {0} ; {1} ; {2} base.stats.pool.register.monreg.error=EJB5161:Error while registering pool stats for {0} ; {1} ; {2} base.stats.pool.register.error=EJB5162:Unexpected error while registering pool stats for {0} ; {1} ; {2} base.stats.pool.unregister.monreg.error=EJB5163:Error while unregistering pool stats for {0} ; {1} ; {2} base.stats.pool.unregister.error=EJB5164:Unexpected error while unregistering pool stats for {0} ; {1} ; {2} base.stats.cache.register.monreg.error=EJB5165:Error while registering cache stats for {0} ; {1} ; {2} base.stats.cache.register.error=EJB5166:Unexpected error while registering cache stats for {0} ; {1} ; {2} base.stats.cache.unregister.monreg.error=EJB5167:Error while unregistering cache stats for {0} ; {1} ; {2} base.stats.cache.unregister.error=EJB5168:Unexpected error while unregistering cache stats for {0} ; {1} ; {2} ejb.timer_reschedule_after_max_deliveries=EJB5169:Rescheduling timer [{0}] after [{1}] redeliveries # Embedded EJB container - message IDs should start with EJB6001 ejb.embedded.exception_instantiating=EJB6001:Caught exception instantiating EmbeddedContainer. ejb.embedded.io_exception=EJB6002:Caught IOException parsing classpath entries. ejb.embedded.cannot_create_context=EJB6003:Caught exception instantiating InitialContext. ejb.embedded.location_not_exists=EJB6004:Specified application server installation location [{0}] does not exist. ejb.embedded.no_modules_found=EJB6005:No EJB modules found EJB6005.diag.cause.1=No EJB modules had been found on the classpath or specified via MODULE property. EJB6005.diag.check.1=Check the classpath and the value(s) of the MODULE property. ejb.embedded.cannot_determine_installation_location=EJB6006:Cannot determine server installation location EJB6006.diag.cause.1=Installation location is not specified, and cannot be determined relative to the implementation location. EJB6006.diag.check.1=Check the classpath or specify server installation location using the org.glassfish.ejb.embedded.glassfish.installation.root property ejb.embedded.tmp_file_create_error=EJB6007:Temporary file could not be created: {0} EJB6007.diag.cause.1=See output for details. EJB6007.diag.check.1=See detailed exception at FINE log level. # cache utility messages cache.BaseCache.illegalMaxEntries = UTIL8050: Illegal max-entries [{0}]; please check your cache configuration. cache.BoundedMultiLruCache.illegalMaxSize = UTIL8051: Illegal MaxSize value [{0}] # cache statistics cache.BaseCache.stat_maxEntries = UTIL8060: Maximum number of entries cache.BaseCache.stat_threshold = UTIL8061: Threshold cache.BaseCache.stat_tableSize = UTIL8062: Table size cache.BaseCache.stat_entryCount = UTIL8063: Number of entries cache.BaseCache.stat_hitCount = UTIL8064: Hit count cache.BaseCache.stat_missCount = UTIL8065: Miss count cache.BaseCache.stat_removalCount = UTIL8066: Removal count cache.BaseCache.stat_refreshCount = UTIL8067: Refresh count cache.BaseCache.stat_addCount = UTIL8070: Add count cache.BaseCache.stat_retrieveCount = UTIL8071: Retrieve count cache.BaseCache.stat_overflowCount = UTIL8072: Overflow count cache.LruCache.stat_lruListLength = UTIL8075: LRU list length cache.LruCache.stat_trimCount = UTIL8076: LRU list trim count cache.MultiLruCache.stat_segmentSize = UTIL8080: Multi-LRU segment size cache.MultiLruCache.stat_segmentListLength = UTIL8081: Multi-LRU list size by segment cache.MultiLruCache.stat_trimCount = UTIL8082: Multi-LRU list trim count cache.BoundedMultiLruCache.stat_currentSize = UTIL8082: Current size (bytes) cache.BoundedMultiLruCache.stat_maxSize = UTIL8083: Maximum size (bytes) #Security log messages ejb.security_preinvoke_exception=SECEJB9000: Exception while running pre-invoke SECEJB9000.diag.cause.1=An error occurred during the call to preInvoke of the EjbSecurityComponentInvocationHandler SECEJB9000.diag.check.1=Check the exception stack trace to see if the exception originated from EjbSecurityManager ejb.security_postinvoke_exception= SECEJB9001: Exception while running postInvoke SECEJB9001.diag.cause.1=An error occurred during the call to postInvoke of the EjbSecurityComponentInvocationHandler SECEJB9001.diag.check.1=Check the exception stack trace to see if the exception originated from EjbSecurityManager JACC_ejbsm.codesourceerror= SECEJB9002:Exception while getting the CodeSource SECEJB9002.diag.cause.1=An error occurred during the call to get the Codesource in the EjbSecurityManager SECEJB9002.diag.check.1=Check the exception stack trace to see if the URL provided for the codesource has valid syntax or is malformed ejbsm.could_not_delete= SECEJB9003:Exception while destroying EjbSecurityManager SECEJB9003.diag.cause.1=An error occurred during the call to destroy the EjbSecurityManager SECEJB9003.diag.check.1=Check if the policy has been already removed or if the application was rightly registered JACC_createurierror= SECEJB9004:EjbSecurityManager - Exception while getting the CodeSource SECEJB9004.diag.cause.1=An error occurred during the call to obtain the codesource through the URI provided SECEJB9004.diag.check.1=Check the exception stack trace to see if the URL provided for the codesource is correct jaccfactory.notfound= SECEJB9005:EjbSecurityManager - Exception while getting the PolicyFactory SECEJB9005.diag.cause.1=An error occurred during the call to obtain the PolicyConfigurationFactory SECEJB9005.diag.check.1=Check the stack trace to see if the exception is ClassNotFound or a general PolicyContextException jacc_access_exception= SECEJB9006:JACC: Unexpected security exception on access decision SECEJB9006.diag.cause.1=An Authorization Exception was thrown for accessing the specific method on the EJB by the user SECEJB9006.diag.check.1=Check the EJB policy to see if access is allowed for the user role specified jacc_policy_context_exception= SECEJB9007:JACC: Unexpected exception manipulating policy context SECEJB9007.diag.cause.1=An Exception was thrown while resetting the policycontext SECEJB9007.diag.check.1=Check the EJB policy to see if the policy contexts of the application are correct jacc_is_caller_in_role_exception= SECEJB9008:JACC: Unexpected security exception isCallerInRole SECEJB9008.diag.cause.1=An Exception was thrown while checking if the caller of the EJB belongs to the role specified SECEJB9008.diag.check.1=Check the EJB policy to see if the caller has been configured for the correct role jacc_policy_context_security_exception= SECEJB9009:JACC: Unexpected PrivilegedActionException manipulating policy context SECEJB9009.diag.cause.1=A PrivilegedActionException Exception was thrown while resetting the policy context SECEJB9009.diag.check.1=Check to see if the caller has enough permissions for this operation method_descriptor_not_defined= SECEJB9010:JACC: EJB Method Descriptor not defined for Ejb {0}, MethodName {1}, MethodParameters {2} SECEJB9010.diag.cause.1=The Method Interface specified is either empty or null SECEJB9010.diag.check.1=Check to see if the EJB name and the method interfaces are correct Other Glassfish examples (source code examples)Here is a short list of links related to this Glassfish LogStrings.properties source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.