异常处理 org.springframework.dao.DataIntegrityViolationException

问题描述:

数据仓库: Oracle 11g

后台报错:DataIntegrityViolationException

详细日志:

Caused by: java.lang.ClassNotFoundException: org.springframework.dao.DataIntegrityViolationException
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at org.springframework.util.ClassUtils.forName(ClassUtils.java:257)


原因分析:

1.为什么报错DataIntegrityViolationException

DataIntegrityViolationException 这个异常是数据库插入时违反数据库约束引起 ,例如主键重复、向非空字段插入空值,或者插入字段违反表结构等

例如:

ORA-01438: value larger than specified precision allowed for this column
; nested exception is java.sql.SQLException: ORA-01438: value larger than specified precision allowed for this column

经过核实 OPERATORLOG  表的主键列设置为999999 ,实际数量只有70W+,并没有达到999999 , 主键列ID 是通过Sequence创建,查询Sequence最的最大值 已经到1000002,因此新插入行对象ID会越界造成DataIntegrityViolationException错误,

2. 为什么表行数和Sequence查询很大

OPERATORLOG 这张表是日志表, 其中会记录一些批量操作的日志, 为了节省效率, 将Sequence 设置了 cache =500, 但是一些异常情况下Spring事务回滚, 但是Sequence 不会回滚 造成 SEQ 值的浪费 因此出现了表行数小于 Sequence数值的情况

3. 为什么巡检没有发现问题

项目使用Oracle数据库,没有做分库分表,而是使用Oracle分区分表技术来解决表过大引起的性能问题

表的数量会持续增加,因此就需要售后人员定期巡检系统,当序列达到一定字段的时候,运行脚本扩容,因此团队要求序列的长度严格和主键长度一致,巡检时查询长度达到N%后对字段做扩容处理

--例如达到70%需要扩容
SELECT * FROM USER_SEQUENCES UC where UC.last_number > UC.max_value * 0.7

从脚本分析看由于序列的最大值没有设置成和主键长度一致造成了巡检时候没有发现问题

 --记录SQL:通过Sequence找到表名和主键名等信息
 --Oracle信息 USER_SEQUENCES 序列信息,USER_TAB_COLUMNS 表字段信息,USER_CONSTRAINTS 约束信息
 --A:需列信息 序列命名要求SEQ_表名,所以使用了SUBSTR函数
 --B:主键列:约束类型是P主键约束并且,POWER实现N次方计算
 SELECT *
   FROM (SELECT Q.SEQUENCE_NAME, Q.MAX_VALUE, Q.LAST_NUMBER, T.TABLE_NAME
           FROM USER_SEQUENCES Q, USER_TABLES T
          WHERE T.TABLE_NAME = SUBSTR(Q.SEQUENCE_NAME, 5)) A, 
        (SELECT C.TABLE_NAME,
                CC.COLUMN_NAME,
                TC.DATA_PRECISION,
                POWER(10, TC.DATA_PRECISION) - 1 MAX
           FROM USER_CONSTRAINTS  C,
                USER_CONS_COLUMNS CC,
                USER_TAB_COLUMNS  TC
          WHERE CC.CONSTRAINT_NAME = C.CONSTRAINT_NAME
            AND C.CONSTRAINT_TYPE = 'P'
            AND TC.COLUMN_NAME = CC.COLUMN_NAME
            AND TC.TABLE_NAME = C.TABLE_NAME) B
  WHERE A.TABLE_NAME = B.TABLE_NAME
    AND A.LAST_NUMBER > A.MAX_VALUE * 0.7


解决方案:

修改增加操作日志表OPERATORLOG主键的值,实现扩容

alter table OPERATORLOG  modify OPERATORLOG_PK  NUMBER(10);


概念整理:

1. 表空间和表分区

  • 表空间:是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表, 所以称作表空间。
  • 分区表:当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区。表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多个表空间(物理文件上),这样查询数据时,不至于每次都扫描整张表。

2. 表分区作用

       Oracle的表分区功能通过改善可管理性、性能和可用性,从而为各式应用程序带来了极大的好处。通常,分区可以使某些查询以及维护操作的性能大大提高。此外,分区还可以极大简化常见的管理任务,分区是构建千兆字节数据系统或超高可用性系统的关键工具。

       分区功能能够将表、索引或索引组织表进一步细分为段,这些数据库对象的段叫做分区。每个分区有自己的名称,还可以选择自己的存储特性。从数据库管理员的角度来看,一个分区后的对象具有多个段,这些段既可进行集体管理,也可单独管理,这就使数据库管理员在管理分区后的对象时有相当大的灵活性。但是,从应用程序的角度来看,分区后的表与非分区表完全相同,使用 SQL DML 命令访问分区后的表时,无需任何修改

3. 表分区的优缺点

优点:

  • 改善查询性能:对分区对象的查询可以仅搜索自己关心的分区,提高检索速度。
  • 增强可用性:如果表的某个分区出现故障,表在其他分区的数据仍然可用;
  • 维护方便:如果表的某个分区出现故障,需要修复数据,只修复该分区即可;
  • 均衡I/O:可以把不同的分区映射到磁盘以平衡I/O,改善整个系统性能。

缺点:

  • 已经存在的表没有方法可以直接转化为分区表。但是有几种方式可以间接完成这个操作

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
All Classes AbstractAdvisorAutoProxyCreator AbstractApplicationContext AbstractApplicationEventMulticaster AbstractAspectJAdvice AbstractAspectJAdvisorFactory AbstractAspectJAdvisorFactory.AspectJAnnotation AbstractAspectJAdvisorFactory.AspectJAnnotationType AbstractAutoProxyCreator AbstractAutowireCapableBeanFactory AbstractBeanDefinition AbstractBeanDefinitionParser AbstractBeanDefinitionReader AbstractBeanFactory AbstractBeanFactoryBasedTargetSource AbstractBeanFactoryBasedTargetSourceCreator AbstractBindingResult AbstractCachingLabeledEnumResolver AbstractCachingViewResolver AbstractCommandController AbstractCommandController AbstractComponentDefinition AbstractConfigurableMBeanInfoAssembler AbstractController AbstractController AbstractDataBoundFormElementTag AbstractDataFieldMaxValueIncrementer AbstractDataSource AbstractDependencyInjectionSpringContextTests AbstractEnterpriseBean AbstractEntityManagerFactoryBean AbstractExcelView AbstractExpressionPointcut AbstractFactoryBean AbstractFallbackTransactionAttributeSource AbstractFormController AbstractFormController AbstractFormTag AbstractGenericLabeledEnum AbstractGenericPointcutAdvisor AbstractHandlerMapping AbstractHandlerMapping AbstractHtmlElementBodyTag AbstractHtmlElementTag AbstractHtmlInputElementTag AbstractHttpInvokerRequestExecutor AbstractInterceptorDrivenBeanDefinitionDecorator AbstractInterruptibleBatchPreparedStatementSetter AbstractJasperReportsSingleFormatView AbstractJasperReportsView AbstractJExcelView AbstractJmsMessageDrivenBean AbstractJmxAttribute AbstractJndiLocatedBeanDefinitionParser AbstractJpaVendorAdapter AbstractLabeledEnum AbstractLazyCreationTargetSource AbstractLobCreatingPreparedStatementCallback AbstractLobHandler AbstractLobStreamingResultSetExtractor AbstractLobType AbstractLobType AbstractLobTypeHandler AbstractLocaleResolver AbstractMapBasedHandlerMapping AbstractMBeanInfoAssembler AbstractMessageDrivenBean AbstractMessageListenerContainer AbstractMessageListenerContainer.SharedConnectionNotInitializedException AbstractMessageSource AbstractModelAndViewTests AbstractMonitoringInterceptor AbstractMultipartHttpServletRequest AbstractOverridingClassLoader AbstractPathMapHandlerMapping AbstractPdfView AbstractPlatformTransactionManager AbstractPointcutAdvisor AbstractPoolingServerSessionFactory AbstractPoolingTargetSource AbstractPropertyAccessor AbstractPropertyBindingResult AbstractPrototypeBasedTargetSource AbstractReflectiveMBeanInfoAssembler AbstractRefreshableApplicationContext AbstractRefreshablePortletApplicationContext AbstractRefreshableTargetSource AbstractRefreshableWebApplicationContext AbstractRegexpMethodPointcut AbstractRemoteSlsbInvokerInterceptor AbstractRequestAttributes AbstractRequestAttributesScope AbstractRequestLoggingFilter AbstractResource AbstractSequenceMaxValueIncrementer AbstractSessionBean AbstractSessionFactory AbstractSessionFactoryBean AbstractSimpleBeanDefinitionParser AbstractSingleBeanDefinitionParser AbstractSingleSpringContextTests AbstractSingletonProxyFactoryBean AbstractSlsbInvokerInterceptor AbstractSpringContextTests AbstractSqlParameterSource AbstractSqlTypeValue AbstractStatefulSessionBean AbstractStatelessSessionBean AbstractTemplateView AbstractTemplateViewResolver AbstractThemeResolver AbstractTraceInterceptor AbstractTransactionalDataSourceSpringContextTests AbstractTransactionalSpringContextTests AbstractTransactionStatus AbstractUrlBasedView AbstractUrlHandlerMapping AbstractUrlMethodNameResolver AbstractUrlViewController AbstractView AbstractWizardFormController AbstractWizardFormController AbstractXmlApplicationContext AbstractXsltView AcceptHeaderLocaleResolver ActionRequestWrapper ActionServletAwareProcessor ActionSupport AdaptableJobFactory AdviceEntry Advised AdvisedSupport AdvisedSupportListener Advisor AdvisorAdapter AdvisorAdapterRegistrationManager AdvisorAdapterRegistry AdvisorChainFactory AdvisorChainFactoryUtils AdvisorComponentDefinition AdvisorEntry AfterReturningAdvice AfterReturningAdviceAdapter AfterReturningAdviceInterceptor AliasDefinition AnnotationAwareAspectJAutoProxyCreator AnnotationBeanUtils AnnotationBeanWiringInfoResolver AnnotationClassFilter AnnotationDrivenBeanDefinitionParser AnnotationJmxAttributeSource AnnotationMatchingPointcut AnnotationMethodMatcher AnnotationSessionFactoryBean AnnotationTransactionAttributeSource AnnotationUtils AntPathMatcher AopConfigException AopContext AopInvocationException AopNamespaceHandler AopNamespaceUtils AopProxy AopProxyFactory AopProxyUtils AopUtils ApplicationContext ApplicationContextAware ApplicationContextAwareProcessor ApplicationContextException ApplicationEvent ApplicationEventMulticaster ApplicationEventPublisher ApplicationEventPublisherAware ApplicationListener ApplicationObjectSupport ArgPreparedStatementSetter ArgTypePreparedStatementSetter ArgumentConvertingMethodInvoker AspectComponentDefinition AspectEntry AspectInstanceFactory AspectJAdviceParameterNameDiscoverer AspectJAdviceParameterNameDiscoverer.AmbiguousBindingException AspectJAdvisorFactory AspectJAfterAdvice AspectJAfterReturningAdvice AspectJAfterThrowingAdvice AspectJAopUtils AspectJAroundAdvice AspectJAutoProxyBeanDefinitionParser AspectJExpressionPointcut AspectJExpressionPointcutAdvisor AspectJInvocationContextExposingAdvisorAutoProxyCreator AspectJMethodBeforeAdvice AspectJPointcutAdvisor AspectJPrecedenceAwareOrderComparator AspectJPrecedenceInformation AspectJProxyFactory AspectJProxyUtils AspectJWeaverMessageHandler AspectMetadata Assert AssertThrows AttributeAccessor AttributeAccessorSupport Attributes AttributesJmxAttributeSource AttributesTransactionAttributeSource AutodetectCapableMBeanInfoAssembler AutoPopulatingList AutoPopulatingList.ElementFactory AutoPopulatingList.ElementInstantiationException Autowire AutowireCapableBeanFactory AutowireUtils AutowiringRequestProcessor AutowiringTilesRequestProcessor AxisBeanMappingServicePostProcessor BadSqlGrammarException BaseCommandController BaseCommandController BatchPreparedStatementSetter BatchSqlUpdate BeanClassLoaderAware BeanComponentDefinition BeanConfigurerSupport BeanCreationException BeanCreationNotAllowedException BeanCurrentlyInCreationException BeanDefinition BeanDefinitionBuilder BeanDefinitionDecorator BeanDefinitionDocumentReader BeanDefinitionHolder BeanDefinitionParser BeanDefinitionParserDelegate BeanDefinitionParsingException BeanDefinitionReader BeanDefinitionReaderUtils BeanDefinitionRegistry BeanDefinitionStoreException BeanDefinitionValidationException BeanDefinitionValueResolver BeanDefinitionVisitor BeanEntry BeanFactory BeanFactoryAspectInstanceFactory BeanFactoryAspectInstanceFactory BeanFactoryAware BeanFactoryDataSourceLookup BeanFactoryLocator BeanFactoryPostProcessor BeanFactoryReference BeanFactoryRefreshableTargetSource BeanFactoryUtils BeanInitializationException BeanInstantiationException BeanIsAbstractException BeanIsNotAFactoryException BeanMetadataElement BeanNameAutoProxyCreator BeanNameAware BeanNameUrlHandlerMapping BeanNameViewResolver BeanNotOfRequiredTypeException BeanPostProcessor BeanPropertyBindingResult BeanPropertySqlParameterSource BeanReference BeansDtdResolver BeansException BeanUtils BeanWiringInfo BeanWiringInfoResolver BeanWrapper BeanWrapperImpl BeforeAdvice BeforeAdviceAdapter BindErrorsTag BindException BindingErrorProcessor BindingResult BindingResultUtils BindInitializer BindStatus BindTag BindUtils BlobByteArrayType BlobByteArrayType BlobByteArrayTypeHandler BlobSerializableType BlobSerializableType BlobSerializableTypeHandler BlobStringType BlobStringType BooleanComparator BootstrapException BridgeMethodResolver BshScriptFactory BshScriptUtils BshScriptUtils.BshExecutionException BurlapClientInterceptor BurlapProxyFactoryBean BurlapServiceExporter ByteArrayMultipartFileEditor ByteArrayPropertyEditor ByteArrayResource C3P0NativeJdbcExtractor CachedIntrospectionResults CachingDestinationResolver CachingMapDecorator CallableStatementCallback CallableStatementCreator CallableStatementCreatorFactory CallbackPreferringPlatformTransactionManager CancellableFormController CannotAcquireLockException CannotCreateRecordException CannotCreateTransactionException CannotGetCciConnectionException CannotGetJdbcConnectionException CannotLoadBeanClassException CannotSerializeTransactionException CciDaoSupport CciLocalTransactionManager CciOperationNotSupportedException CciOperations CciTemplate Cglib2AopProxy Cglib2AopProxy.SerializableNoOp CglibSubclassingInstantiationStrategy ChainedExceptionListener ChainedPersistenceExceptionTranslator CharacterEditor CharacterEncodingFilter CharArrayPropertyEditor CheckboxTag ChildBeanDefinition ClassArrayEditor ClassEditor ClassFileTransformerAdapter ClassFilter ClassFilters ClassLoaderAnalyzerInterceptor ClassLoaderUtils ClassNameBeanWiringInfoResolver ClassPathResource ClassPathXmlApplicationContext ClassUtils CleanupFailureDataAccessException ClobStringType ClobStringType ClobStringTypeHandler CodebaseAwareObjectInputStream CollectionFactory CollectionUtils ColumnMapRowMapper CommAreaRecord CommonsAttributes CommonsDbcpNativeJdbcExtractor CommonsFileUploadSupport CommonsFileUploadSupport.MultipartParsingResult CommonsHttpInvokerRequestExecutor CommonsLogFactoryBean CommonsLoggingLogSystem CommonsLoggingSessionLog CommonsLoggingSessionLog904 CommonsMultipartFile CommonsMultipartResolver CommonsPathMapHandlerMapping CommonsPoolServerSessionFactory CommonsPoolTargetSource CommonsPortletMultipartResolver CommonsRequestLoggingFilter ComparableComparator ComponentControllerSupport ComponentDefinition ComposablePointcut CompositeTransactionAttributeSource CompoundComparator ConcurrencyFailureException ConcurrencyThrottleInterceptor ConcurrencyThrottleSupport ConcurrentTaskExecutor ConditionalTestCase ConfigBeanDefinitionParser Configurable ConfigurableApplicationContext ConfigurableBeanFactory ConfigurableJasperReportsView ConfigurableListableBeanFactory ConfigurableMimeFileTypeMap ConfigurablePortletApplicationContext ConfigurablePropertyAccessor ConfigurableWebApplicationContext ConnectionCallback ConnectionCallback ConnectionFactoryUtils ConnectionFactoryUtils ConnectionFactoryUtils.ResourceFactory ConnectionHandle ConnectionHolder ConnectionHolder ConnectionProxy ConnectionSpecConnectionFactoryAdapter ConnectorServerFactoryBean ConsoleListener ConstantException Constants ConstructorArgumentEntry ConstructorArgumentValues ConstructorArgumentValues.ValueHolder ConstructorResolver ContextBeanFactoryReference ContextClosedEvent ContextJndiBeanFactoryLocator ContextLoader ContextLoaderListener ContextLoaderPlugIn ContextLoaderServlet ContextRefreshedEvent ContextSingletonBeanFactoryLocator ControlFlow ControlFlowFactory ControlFlowFactory.Jdk13ControlFlow ControlFlowFactory.Jdk14ControlFlow ControlFlowPointcut Controller Controller ControllerClassNameHandlerMapping Conventions CookieGenerator CookieLocaleResolver CookieThemeResolver CosMailSenderImpl CosMultipartHttpServletRequest CosMultipartResolver CronTriggerBean CustomBooleanEditor CustomCollectionEditor CustomDateEditor CustomEditorConfigurer CustomizableTraceInterceptor CustomNumberEditor CustomScopeConfigurer CustomSQLErrorCodesTranslation DaoSupport DataAccessException DataAccessResourceFailureException DataAccessUtils Database DatabaseMetaDataCallback DatabaseStartupValidator DataBinder DataFieldMaxValueIncrementer DataIntegrityViolationException DataRetrievalFailureException DataSourceLookup DataSourceLookupFailureException DataSourceTransactionManager DataSourceUtils DB2SequenceMaxValueIncrementer DeadlockLoserDataAccessException DebugInterceptor DeclareParentsAdvisor DecoratingNavigationHandler DefaultAdvisorAdapterRegistry DefaultAdvisorAutoProxyCreator DefaultAopProxyFactory DefaultBeanDefinitionDocumentReader DefaultBindingErrorProcessor DefaultDocumentLoader DefaultIntroductionAdvisor DefaultJdoDialect DefaultJpaDialect DefaultListableBeanFactory DefaultLobHandler DefaultLocatorFactory DefaultMessageCodesResolver DefaultMessageListenerContainer DefaultMessageListenerContainer102 DefaultMessageSourceResolvable DefaultMultipartActionRequest DefaultMultipartHttpServletRequest DefaultNamespaceHandlerResolver DefaultPersistenceUnitManager DefaultPointcutAdvisor DefaultPropertiesPersister DefaultRemoteInvocationExecutor DefaultRemoteInvocationFactory DefaultRequestToViewNameTranslator DefaultResourceLoader DefaultScopedObject DefaultSingletonBeanRegistry DefaultToStringStyler DefaultTransactionAttribute DefaultTransactionDefinition DefaultTransactionStatus DefaultValueStyler DelegatePerTargetObjectDelegatingIntroductionInterceptor DelegatingActionProxy DelegatingActionUtils DelegatingConnectionFactory DelegatingDataSource DelegatingEntityResolver DelegatingFilterProxy DelegatingIntroductionInterceptor DelegatingJob DelegatingMessageSource DelegatingNavigationHandlerProxy DelegatingPhaseListenerMulticaster DelegatingRequestProcessor DelegatingServletInputStream DelegatingServletOutputStream DelegatingThemeSource DelegatingTilesRequestProcessor DelegatingTimerListener DelegatingTimerTask DelegatingTransactionAttribute DelegatingVariableResolver DelegatingWork DescriptiveResource DestinationResolutionException DestinationResolver DestructionAwareBeanPostProcessor DirectFieldAccessor DirectFieldBindingResult DispatchActionSupport DispatcherPortlet DispatcherServlet DispatcherServletWebRequest DisposableBean DisposableBeanAdapter DisposableSqlTypeValue DocumentLoader DomUtils DriverManagerDataSource DynamicDestinationResolver DynamicIntroductionAdvice DynamicMethodMatcher DynamicMethodMatcherPointcut DynamicMethodMatcherPointcutAdvisor EhCacheFactoryBean EhCacheManagerFactoryBean EisOperation EjbAccessException EmptyReaderEventListener EmptyResultDataAccessException EmptyTargetSource EncodedResource EntityManagerFactoryAccessor EntityManagerFactoryInfo EntityManagerFactoryPlus EntityManagerFactoryPlusOperations EntityManagerFactoryUtils EntityManagerHolder EntityManagerPlus EntityManagerPlusOperations ErrorCoded Errors ErrorsTag EscapeBodyTag EscapedErrors EventPublicationInterceptor ExpectedLookupTemplate ExposeBeanNameAdvisors ExposeInvocationInterceptor ExpressionEvaluationUtils ExpressionPointcut ExtendedEntityManagerCreator FacesContextUtils FactoryBean FactoryBeanNotInitializedException FailFastProblemReporter FatalBeanException FieldError FieldRetrievingFactoryBean FileCopyUtils FileEditor FileSystemResource FileSystemResourceLoader FileSystemXmlApplicationContext FilterDefinitionFactoryBean FixedLocaleResolver FixedThemeResolver FormTag FrameworkPortlet FrameworkServlet FreeMarkerConfig FreeMarkerConfigurationFactory FreeMarkerConfigurationFactoryBean FreeMarkerConfigurer FreeMarkerTemplateUtils FreeMarkerView FreeMarkerViewResolver GeneratedKeyHolder GenericApplicationContext GenericBeanFactoryAccessor GenericCollectionTypeResolver GenericFilterBean GenericPortletBean GenericWebApplicationContext GlobalAdvisorAdapterRegistry GroovyScriptFactory HandlerAdapter HandlerAdapter HandlerExceptionResolver HandlerExceptionResolver HandlerExecutionChain HandlerExecutionChain HandlerInterceptor HandlerInterceptor HandlerInterceptorAdapter HandlerInterceptorAdapter HandlerMapping HandlerMapping HashMapCachingAdvisorChainFactory Hessian1SkeletonInvoker Hessian2SkeletonInvoker HessianClientInterceptor HessianProxyFactoryBean HessianServiceExporter HessianSkeletonInvoker HeuristicCompletionException HibernateAccessor HibernateAccessor HibernateCallback HibernateCallback HibernateDaoSupport HibernateDaoSupport HibernateInterceptor HibernateInterceptor HibernateJdbcException HibernateJdbcException HibernateJpaDialect HibernateJpaVendorAdapter HibernateObjectRetrievalFailureException HibernateObjectRetrievalFailureException HibernateOperations HibernateOperations HibernateOptimisticLockingFailureException HibernateOptimisticLockingFailureException HibernateQueryException HibernateQueryException HibernateSystemException HibernateSystemException HibernateTemplate HibernateTemplate HibernateTransactionManager HibernateTransactionManager HiddenInputTag HierarchicalBeanFactory HierarchicalMessageSource HierarchicalThemeSource HotSwappableTargetSource HsqlMaxValueIncrementer HtmlCharacterEntityDecoder HtmlCharacterEntityReferences HtmlEscapeTag HtmlEscapingAwareTag HtmlUtils HttpInvokerClientConfiguration HttpInvokerClientInterceptor HttpInvokerProxyFactoryBean HttpInvokerRequestExecutor HttpInvokerServiceExporter HttpRequestHandler HttpRequestHandlerAdapter HttpRequestHandlerServlet HttpRequestMethodNotSupportedException HttpServletBean HttpSessionMutexListener HttpSessionRequiredException IdentityNamingStrategy IdTransferringMergeEventListener IllegalStateException IllegalTransactionStateException ImportDefinition IncorrectResultSetColumnCountException IncorrectResultSizeDataAccessException IncorrectUpdateSemanticsDataAccessException InitializingBean InputStreamEditor InputStreamResource InputStreamSource InputTag InstantiationAwareBeanPostProcessor InstantiationAwareBeanPostProcessorAdapter InstantiationModelAwarePointcutAdvisor InstantiationModelAwarePointcutAdvisorImpl InstantiationStrategy InstrumentationLoadTimeWeaver InstrumentationSavingAgent InteractionCallback InterceptorAndDynamicMethodMatcher InterfaceBasedMBeanInfoAssembler InternalPathMethodNameResolver InternalResourceView InternalResourceViewResolver InternetAddressEditor InterruptibleBatchPreparedStatementSetter IntroductionAdvisor IntroductionAwareMethodMatcher IntroductionInfo IntroductionInfoSupport IntroductionInterceptor IntrospectorCleanupListener InvalidClientIDException InvalidDataAccessApiUsageException InvalidDataAccessResourceUsageException InvalidDestinationException InvalidInvocationException InvalidIsolationLevelException InvalidMetadataException InvalidPropertyException InvalidResultSetAccessException InvalidResultSetAccessException InvalidSelectorException InvalidTimeoutException InvertibleComparator InvocationFailureException Isolation JamonPerformanceMonitorInterceptor JasperReportsCsvView JasperReportsHtmlView JasperReportsMultiFormatView JasperReportsPdfView JasperReportsUtils JasperReportsViewResolver JasperReportsXlsView JavaMailSender JavaMailSenderImpl JavaScriptUtils JaxRpcPortClientInterceptor JaxRpcPortProxyFactoryBean JaxRpcServicePostProcessor JBossNativeJdbcExtractor JdbcAccessor JdbcBeanDefinitionReader JdbcDaoSupport JdbcOperations JdbcTemplate JdbcTransactionObjectSupport JdbcUpdateAffectedIncorrectNumberOfRowsException JdbcUtils JdkDynamicAopProxy JdkRegexpMethodPointcut JdkVersion JdoAccessor JdoCallback JdoDaoSupport JdoDialect JdoInterceptor JdoObjectRetrievalFailureException JdoOperations JdoOptimisticLockingFailureException JdoResourceFailureException JdoSystemException JdoTemplate JdoTransactionManager JdoUsageException JeeNamespaceHandler JmsAccessor JmsDestinationAccessor JmsException JmsGatewaySupport JmsInvokerClientInterceptor JmsInvokerProxyFactoryBean JmsInvokerServiceExporter JmsOperations JmsResourceHolder JmsSecurityException JmsTemplate JmsTemplate102 JmsTransactionManager JmsTransactionManager102 JmsUtils JmxAttributeSource JmxException JmxMetadataUtils JmxUtils JndiAccessor JndiCallback JndiDataSourceLookup JndiDestinationResolver JndiLocatorSupport JndiLookupBeanDefinitionParser JndiObjectFactoryBean JndiObjectLocator JndiObjectTargetSource JndiRmiClientInterceptor JndiRmiProxyFactoryBean JndiRmiServiceExporter JndiTemplate JndiTemplateEditor JobDetailAwareTrigger JobDetailBean JotmFactoryBean JpaAccessor JpaCallback JpaDaoSupport JpaDialect JpaInterceptor JpaObjectRetrievalFailureException JpaOperations JpaOptimisticLockingFailureException JpaSystemException JpaTemplate JpaTransactionManager JpaVendorAdapter JRubyScriptFactory JRubyScriptUtils JspAwareRequestContext JstlUtils JstlView JtaAfterCompletionSynchronization JtaLobCreatorSynchronization JtaTransactionManager JtaTransactionObject KeyHolder KeyNamingStrategy LabeledEnum LabeledEnumResolver LabelTag LangNamespaceHandler LastModified LazyConnectionDataSourceProxy LazyInitTargetSource LazyInitTargetSourceCreator LazySingletonMetadataAwareAspectInstanceFactoryDecorator LetterCodedLabeledEnum Lifecycle ListableBeanFactory ListenerExecutionFailedException ListenerSessionManager ListFactoryBean LoadTimeWeaver LobCreator LobCreatorUtils LobHandler LobRetrievalFailureException LocalConnectionFactoryBean LocalContainerEntityManagerFactoryBean LocalDataSourceConnectionProvider LocalDataSourceConnectionProvider LocalDataSourceJobStore LocaleChangeInterceptor LocaleContext LocaleContextHolder LocaleEditor LocalEntityManagerFactoryBean LocaleResolver LocalizedResourceHelper LocalJaxRpcServiceFactory LocalJaxRpcServiceFactoryBean LocalPersistenceManagerFactoryBean LocalSessionFactory LocalSessionFactoryBean LocalSessionFactoryBean LocalSessionFactoryBean LocalSlsbInvokerInterceptor LocalStatelessSessionBeanDefinitionParser LocalStatelessSessionProxyFactoryBean LocalTaskExecutorThreadPool LocalTransactionManagerLookup LocalTransactionManagerLookup LocalVariableTableParameterNameDiscoverer Location Log4jConfigListener Log4jConfigServlet Log4jConfigurer Log4jNestedDiagnosticContextFilter Log4jWebConfigurer LookupDispatchActionSupport LookupOverride MailAuthenticationException MailException MailMessage MailParseException MailPreparationException MailSender MailSendException ManagedAttribute ManagedAttribute ManagedList ManagedMap ManagedNotification ManagedNotification ManagedNotifications ManagedOperation ManagedOperation ManagedOperationParameter ManagedOperationParameter ManagedOperationParameters ManagedProperties ManagedResource ManagedResource ManagedSet MapBindingResult MapDataSourceLookup MapFactoryBean MappingCommAreaOperation MappingDispatchActionSupport MappingRecordOperation MappingSqlQuery MappingSqlQueryWithParameters MapSqlParameterSource MatchAlwaysTransactionAttributeSource MaxUploadSizeExceededException MBeanClientInterceptor MBeanExporter MBeanExporterListener MBeanExportException MBeanExportOperations MBeanInfoAssembler MBeanInfoRetrievalException MBeanProxyFactoryBean MBeanRegistrationSupport MBeanServerConnectionFactoryBean MBeanServerFactoryBean MBeanServerNotFoundException Mergeable MessageCodesResolver MessageConversionException MessageConverter MessageCreator MessageEOFException MessageFormatException MessageListenerAdapter MessageListenerAdapter102 MessageNotReadableException MessageNotWriteableException MessagePostProcessor MessageSource MessageSourceAccessor MessageSourceAware MessageSourceResolvable MessageSourceResourceBundle MessageTag MetaDataAccessException MetadataAwareAspectInstanceFactory MetadataMBeanInfoAssembler MetadataNamingStrategy MethodBeforeAdvice MethodBeforeAdviceInterceptor MethodExclusionMBeanInfoAssembler MethodInvocationException MethodInvocationProceedingJoinPoint MethodInvoker MethodInvokingFactoryBean MethodInvokingJobDetailFactoryBean MethodInvokingJobDetailFactoryBean.MethodInvokingJob MethodInvokingJobDetailFactoryBean.StatefulMethodInvokingJob MethodInvokingRunnable MethodInvokingTimerTaskFactoryBean MethodLocatingFactoryBean MethodMapTransactionAttributeSource MethodMatcher MethodMatchers MethodNameBasedMBeanInfoAssembler MethodNameResolver MethodOverride MethodOverrides MethodParameter MethodReplacer MimeMailMessage MimeMessageHelper MimeMessagePreparator MockActionRequest MockActionResponse MockExpressionEvaluator MockFilterConfig MockHttpServletRequest MockHttpServletResponse MockHttpSession MockMultipartActionRequest MockMultipartFile MockMultipartHttpServletRequest MockPageContext MockPortalContext MockPortletConfig MockPortletContext MockPortletPreferences MockPortletRequest MockPortletRequestDispatcher MockPortletResponse MockPortletSession MockPortletURL MockRenderRequest MockRenderResponse MockRequestDispatcher MockServletConfig MockServletContext ModelAndView ModelAndView ModelAndViewDefiningException ModelAndViewDefiningException ModelMap ModelMBeanNotificationPublisher MultiActionController MultipartActionRequest MultipartException MultipartFile MultipartFilter MultipartHttpServletRequest MultipartResolver MutablePersistenceUnitInfo MutablePropertyValues MutableSortDefinition MySQLMaxValueIncrementer NamedBean NamedParameterJdbcDaoSupport NamedParameterJdbcOperations NamedParameterJdbcTemplate NamedParameterUtils NameMatchMethodPointcut NameMatchMethodPointcutAdvisor NameMatchTransactionAttributeSource NamespaceHandler NamespaceHandlerResolver NamespaceHandlerSupport NativeJdbcExtractor NativeJdbcExtractorAdapter NestedCheckedException NestedExceptionUtils NestedIOException NestedPathTag NestedRuntimeException NestedServletException NestedTransactionNotSupportedException NoRollbackRuleAttribute NoSuchBeanDefinitionException NoSuchMessageException NoSuchRequestHandlingMethodException NotAnAtAspectException NotificationListenerBean NotificationPublisher NotificationPublisherAware NoTransactionException NotReadablePropertyException NotSupportedRecordFactory NotWritablePropertyException NullSafeComparator NullSourceExtractor NullValueInNestedPathException NumberUtils ObjectError ObjectFactory ObjectFactoryCreatingFactoryBean ObjectNameManager ObjectNamingStrategy ObjectOptimisticLockingFailureException ObjectRetrievalFailureException ObjectUtils OC4JClassPreprocessorAdapter OC4JLoadTimeWeaver OncePerRequestFilter OpenEntityManagerInViewFilter OpenEntityManagerInViewInterceptor OpenPersistenceManagerInViewFilter OpenPersistenceManagerInViewInterceptor OpenSessionInViewFilter OpenSessionInViewFilter OpenSessionInViewInterceptor OpenSessionInViewInterceptor OptimisticLockingFailureException OptionsTag OptionTag OptionWriter OracleLobHandler OracleLobHandler.LobCallback OracleSequenceMaxValueIncrementer Order OrderComparator Ordered PagedListHolder PagedListSourceProvider ParameterDisposer ParameterHandlerMapping ParameterizableViewController ParameterizableViewController ParameterizedRowMapper ParameterMapper ParameterMappingInterceptor ParameterMethodNameResolver ParameterNameDiscoverer ParsedSql ParserContext ParseState ParseState.Entry PassThroughSourceExtractor PasswordInputTag PathMap PathMatcher PathMatchingResourcePatternResolver PatternMatchUtils PerformanceMonitorInterceptor PerformanceMonitorListener Perl5RegexpMethodPointcut PermissionDeniedDataAccessException PersistenceAnnotationBeanPostProcessor PersistenceExceptionTranslationAdvisor PersistenceExceptionTranslationInterceptor PersistenceExceptionTranslationPostProcessor PersistenceExceptionTranslator PersistenceManagerFactoryUtils PersistenceManagerHolder PersistenceUnitManager PersistenceUnitPostProcessor PersistenceUnitReader PessimisticLockingFailureException PlatformTransactionManager PluggableSchemaResolver Pointcut PointcutAdvisor PointcutComponentDefinition PointcutEntry Pointcuts PoolingConfig PortletApplicationContextUtils PortletApplicationObjectSupport PortletConfigAware PortletContentGenerator PortletContextAware PortletContextAwareProcessor PortletContextResource PortletContextResourceLoader PortletContextResourcePatternResolver PortletModeHandlerMapping PortletModeNameViewController PortletModeParameterHandlerMapping PortletMultipartResolver PortletRequestAttributes PortletRequestBindingException PortletRequestDataBinder PortletRequestHandledEvent PortletRequestParameterPropertyValues PortletRequestUtils PortletRequestWrapper PortletSessionRequiredException PortletUtils PortletWebRequest PortletWrappingController PostgreSQLSequenceMaxValueIncrementer PreferencesPlaceholderConfigurer PreparedStatementCallback PreparedStatementCreator PreparedStatementCreatorFactory PreparedStatementSetter PrioritizedParameterNameDiscoverer Problem ProblemReporter ProducerCallback Propagation PropertiesBeanDefinitionReader PropertiesEditor PropertiesFactoryBean PropertiesLoaderSupport PropertiesLoaderUtils PropertiesMethodNameResolver PropertiesPersister PropertyAccessException PropertyAccessor PropertyAccessorUtils PropertyBatchUpdateException PropertyComparator PropertyEditorRegistrar PropertyEditorRegistry PropertyEditorRegistrySupport PropertyEntry PropertyMatches PropertyOverrideConfigurer PropertyPathFactoryBean PropertyPlaceholderConfigurer PropertyResourceConfigurer PropertyValue PropertyValues PropertyValuesEditor PrototypeAspectInstanceFactory PrototypeTargetSource ProxyConfig ProxyFactory ProxyFactoryBean ProxyMethodInvocation QuartzJobBean QuickTargetSourceCreator RadioButtonTag RdbmsOperation ReaderContext ReaderEventListener RecordCreator RecordExtractor RecordTypeNotSupportedException RedirectView ReflectionUtils ReflectionUtils.FieldCallback ReflectionUtils.FieldFilter ReflectionUtils.MethodCallback ReflectionUtils.MethodFilter ReflectiveAspectJAdvisorFactory ReflectiveAspectJAdvisorFactory.SyntheticInstantiationAdvisor ReflectiveLoadTimeWeaver ReflectiveMethodInvocation ReflectiveVisitorHelper Refreshable RefreshablePagedListHolder RefreshableScriptTargetSource RegexpMethodPointcutAdvisor ReloadableResourceBundleMessageSource RemoteAccessException RemoteAccessor RemoteConnectFailureException RemoteExporter RemoteInvocation RemoteInvocationBasedAccessor RemoteInvocationBasedExporter RemoteInvocationExecutor RemoteInvocationFactory RemoteInvocationResult RemoteInvocationTraceInterceptor RemoteInvocationUtils RemoteLookupFailureException RemoteProxyFailureException RemoteStatelessSessionBeanDefinitionParser ReplaceOverride Repository RequestAttributes RequestContext RequestContextAwareTag RequestContextFilter RequestContextHolder RequestContextListener RequestContextUtils RequestHandledEvent RequestScope RequestToViewNameTranslator RequestUtils Required RequiredAnnotationBeanPostProcessor Resource ResourceAllocationException ResourceArrayPropertyEditor ResourceBundleEditor ResourceBundleMessageSource ResourceBundleThemeSource ResourceBundleViewResolver ResourceEditor ResourceEditorRegistrar ResourceEntityResolver ResourceFactoryBean ResourceHolderSupport ResourceJobSchedulingDataProcessor ResourceLoader ResourceLoaderAware ResourceMapFactoryBean ResourceOverridingShadowingClassLoader ResourcePatternResolver ResourcePatternUtils ResourceScriptSource ResourceServlet ResourceUtils ResponseTimeMonitor ResponseTimeMonitorImpl ResultSetExtractor ResultSetSupportingSqlParameter ResultSetWrappingSqlRowSet ResultSetWrappingSqlRowSetMetaData RmiBasedExporter RmiClientInterceptor RmiClientInterceptorUtils RmiInvocationHandler RmiInvocationWrapper RmiProxyFactoryBean RmiRegistryFactoryBean RmiServiceExporter RollbackRuleAttribute RootBeanDefinition RootClassFilter RowCallbackHandler RowCountCallbackHandler RowMapper RowMapperResultSetExtractor RuleBasedTransactionAttribute RuntimeBeanNameReference RuntimeBeanReference RuntimeTestWalker SavepointManager ScheduledExecutorFactoryBean ScheduledExecutorTask ScheduledTimerListener ScheduledTimerTask SchedulerContextAware SchedulerFactoryBean SchedulingAwareRunnable SchedulingException SchedulingTaskExecutor Scope ScopedBeanInterceptor ScopedObject ScopedProxyBeanDefinitionDecorator ScopedProxyFactoryBean ScriptBeanDefinitionParser ScriptCompilationException ScriptFactory ScriptFactoryPostProcessor ScriptSource SelectedValueComparator SelectTag SelfNaming ServerSessionFactory ServerSessionFactory ServerSessionMessageListenerContainer ServerSessionMessageListenerContainer102 ServiceLocatorFactoryBean ServletConfigAware ServletContextAttributeExporter ServletContextAttributeFactoryBean ServletContextAware ServletContextAwareProcessor ServletContextFactoryBean ServletContextParameterFactoryBean ServletContextPropertyPlaceholderConfigurer ServletContextRequestLoggingFilter ServletContextResource ServletContextResourceLoader ServletContextResourcePatternResolver ServletEndpointSupport ServletForwardingController ServletRequestAttributes ServletRequestBindingException ServletRequestDataBinder ServletRequestHandledEvent ServletRequestParameterPropertyValues ServletRequestUtils ServletWebRequest ServletWrappingController SessionAwareMessageListener SessionBrokerSessionFactory SessionCallback SessionFactory SessionFactoryUtils SessionFactoryUtils SessionFactoryUtils SessionHolder SessionHolder SessionHolder SessionLocaleResolver SessionReadCallback SessionScope SessionThemeResolver SetFactoryBean ShadowingClassLoader SharedEntityManagerBean SharedEntityManagerCreator ShortCodedLabeledEnum SimpleApplicationEventMulticaster SimpleAsyncTaskExecutor SimpleConnectionHandle SimpleControllerHandlerAdapter SimpleControllerHandlerAdapter SimpleFormController SimpleFormController SimpleHttpInvokerRequestExecutor SimpleInstantiationStrategy SimpleInstrumentableClassLoader SimpleJdbcDaoSupport SimpleJdbcOperations SimpleJdbcTemplate SimpleLoadTimeWeaver SimpleLocaleContext SimpleMailMessage SimpleMappingExceptionResolver SimpleMappingExceptionResolver SimpleMessageConverter SimpleMessageConverter102 SimpleMessageListenerContainer SimpleMessageListenerContainer102 SimpleNamingContext SimpleNamingContextBuilder SimpleNativeJdbcExtractor SimplePortletHandlerAdapter SimplePortletPostProcessor SimplePropertyNamespaceHandler SimpleRecordOperation SimpleReflectiveMBeanInfoAssembler SimpleRemoteSlsbInvokerInterceptor SimpleRemoteStatelessSessionProxyFactoryBean SimpleSaxErrorHandler SimpleServerSessionFactory SimpleServletHandlerAdapter SimpleServletPostProcessor SimpleTheme SimpleThreadPoolTaskExecutor SimpleThrowawayClassLoader SimpleTraceInterceptor SimpleTransactionStatus SimpleTransformErrorListener SimpleTriggerBean SimpleTypeConverter SimpleUrlHandlerMapping SingleColumnRowMapper SingleConnectionDataSource SingleConnectionFactory SingleConnectionFactory SingleConnectionFactory102 SingleDataSourceLookup SingleSessionFactory SingletonAspectInstanceFactory SingletonBeanFactoryLocator SingletonBeanRegistry SingletonMetadataAwareAspectInstanceFactory SingletonTargetSource SmartDataSource SmartMimeMessage SmartSessionBean SmartTransactionObject SortDefinition SourceExtractor SpringBeanJobFactory SpringBindingActionForm SpringConfiguredBeanDefinitionParser SpringJtaSynchronizationAdapter SpringLobCreatorSynchronization SpringModelMBean SpringPersistenceUnitInfo SpringResourceLoader SpringSessionContext SpringSessionSynchronization SpringSessionSynchronization SpringTemplateLoader SpringVersion SqlCall SQLErrorCodes SQLErrorCodesFactory SQLErrorCodeSQLExceptionTranslator SQLExceptionTranslator SqlFunction SqlInOutParameter SqlLobValue SqlMapClientCallback SqlMapClientDaoSupport SqlMapClientFactoryBean SqlMapClientOperations SqlMapClientTemplate SqlOperation SqlOutParameter SqlParameter SqlParameterSource SqlProvider SqlQuery SqlReturnResultSet SqlReturnType SqlRowSet SqlRowSetMetaData SqlRowSetResultSetExtractor SQLStateSQLExceptionTranslator SqlTypeValue SqlUpdate SQLWarningException StatementCallback StatementCreatorUtils StaticApplicationContext StaticLabeledEnum StaticLabeledEnumResolver StaticListableBeanFactory StaticMessageSource StaticMethodMatcher StaticMethodMatcherPointcut StaticMethodMatcherPointcutAdvisor StaticPortletApplicationContext StaticScriptSource StaticWebApplicationContext StopWatch StopWatch.TaskInfo StoredProcedure StringArrayPropertyEditor StringCodedLabeledEnum StringMultipartFileEditor StringTrimmerEditor StringUtils StylerUtils SynchedLocalTransactionFailedException SyncTaskExecutor SystemPropertyUtils TagIdGenerator TagUtils TagWriter TargetSource TargetSourceCreator TaskExecutor TextareaTag Theme ThemeChangeInterceptor ThemeResolver ThemeSource ThemeTag ThreadLocalTargetSource ThreadLocalTargetSourceStats ThreadPoolTaskExecutor ThrowawayController ThrowawayControllerHandlerAdapter ThrowsAdvice ThrowsAdviceAdapter ThrowsAdviceInterceptor TilesConfigurer TilesJstlView TilesView TimerFactoryBean TimerManagerFactoryBean TimerTaskExecutor TomcatInstrumentableClassLoader TopLinkAccessor TopLinkCallback TopLinkDaoSupport TopLinkInterceptor TopLinkJdbcException TopLinkJpaDialect TopLinkJpaVendorAdapter TopLinkOperations TopLinkOptimisticLockingFailureException TopLinkQueryException TopLinkSystemException TopLinkTemplate TopLinkTransactionManager ToStringCreator ToStringStyler Transactional TransactionAspectSupport TransactionAttribute TransactionAttributeEditor TransactionAttributeSource TransactionAttributeSourceAdvisor TransactionAttributeSourceEditor TransactionAwareConnectionFactoryProxy TransactionAwareConnectionFactoryProxy TransactionAwareDataSourceConnectionProvider TransactionAwareDataSourceConnectionProvider TransactionAwareDataSourceProxy TransactionAwarePersistenceManagerFactoryProxy TransactionAwareSessionAdapter TransactionCallback TransactionCallbackWithoutResult TransactionDefinition TransactionException TransactionInProgressException TransactionInterceptor TransactionProxyFactoryBean TransactionRolledBackException TransactionStatus TransactionSuspensionNotSupportedException TransactionSynchronization TransactionSynchronizationAdapter TransactionSynchronizationManager TransactionSynchronizationUtils TransactionSystemException TransactionTemplate TransactionTimedOutException TransactionUsageException TransformerUtils TransformTag TrueClassFilter TrueMethodMatcher TruePointcut TxAdviceBeanDefinitionParser TxNamespaceHandler TxNamespaceUtils TypeConverter TypeConverterDelegate TypeDefinitionBean TypedStringValue TypeMismatchDataAccessException TypeMismatchException TypeMismatchNamingException TypePatternClassFilter UiApplicationContextUtils UnableToRegisterMBeanException UnableToSendNotificationException UncategorizedDataAccessException UncategorizedJmsException UncategorizedSQLException UnexpectedRollbackException UnionPointcut UnitOfWorkCallback UnknownAdviceTypeException UnsatisfiedDependencyException UpdatableSqlQuery UrlBasedRemoteAccessor UrlBasedViewResolver URLEditor UrlFilenameViewController UrlPathHelper UrlResource UserCredentialsConnectionFactoryAdapter UserCredentialsDataSourceAdapter UserRoleAuthorizationInterceptor UserRoleAuthorizationInterceptor UserTransactionAdapter UtilNamespaceHandler ValidationUtils Validator ValueFormatter ValueStyler VelocityConfig VelocityConfigurer VelocityEngineFactory VelocityEngineFactoryBean VelocityEngineUtils VelocityLayoutView VelocityLayoutViewResolver VelocityToolboxView VelocityView VelocityViewResolver View ViewRendererServlet ViewResolver WeakReferenceMonitor WeakReferenceMonitor.ReleaseListener WeavingTransformer WebApplicationContext WebApplicationContextUtils WebApplicationContextVariableResolver WebApplicationObjectSupport WebAppRootListener WebContentGenerator WebContentInterceptor WebDataBinder WebLogicJndiMBeanServerFactoryBean WebLogicJtaTransactionManager WebLogicMBeanServerFactoryBean WebLogicNativeJdbcExtractor WebLogicServerTransactionManagerFactoryBean WebRequest WebRequestHandlerInterceptorAdapter WebRequestHandlerInterceptorAdapter WebRequestInterceptor WebSphereNativeJdbcExtractor WebSphereTransactionManagerFactoryBean WebUtils WorkManagerTaskExecutor XAPoolNativeJdbcExtractor XmlBeanDefinitionParser XmlBeanDefinitionReader XmlBeanFactory XmlPortletApplicationContext XmlReaderContext XmlValidationModeDetector XmlViewResolver XmlWebApplicationContext XsltView XsltViewResolver
二、完善其余功能节点 -- 流程 1、 将 提供其余节点页面 复制 pages/zhongzhuan 入库(点击左侧菜单入库) ----- Action (查询入库任务列表)---- instore_list.jsp ---- 办理任务 ---- instore_complete.jsp(提交form) --- Action (办理任务流转到下一个节点) 修改function 数据表 入库 task_findInStoreTask.action 出库 task_findOutStoreTask.action 签收 task_findReceiveInfoTask.action 2、 查询任务列表 TaskAction // 业务方法 ----- 查询入库环节 的个人任务 public String findInStoreTask(){ // 登陆用户 User user = (User) getSession().getAttribute("user"); List<ZhongZhuanInfo> zhongZhuanInfoList = myTaskService.findTransferTask(user,"入库"); // 值栈 ActionContext.getContext().put("zhongZhuanInfoList", zhongZhuanInfoList); return "findInStoreTaskSUCCESS"; } // 业务方法 ----- 查询出库环节 的个人任务 public String findOutStoreTask(){ // 登陆用户 User user = (User) getSession().getAttribute("user"); List<ZhongZhuanInfo> zhongZhuanInfoList = myTaskService.findTransferTask(user,"出库"); // 值栈 ActionContext.getContext().put("zhongZhuanInfoList", zhongZhuanInfoList); return "findOutStoreTaskSUCCESS"; } // 业务方法 ----- 查询签收环节 的个人任务 public String findReceiveInfoTask(){ // 登陆用户 User user = (User) getSession().getAttribute("user"); List<ZhongZhuanInfo> zhongZhuanInfoList = myTaskService.findTransferTask(user,"配送签收"); // 值栈 ActionContext.getContext().put("zhongZhuanInfoList", zhongZhuanInfoList); return "findReceiveInfoTaskSUCCESS"; } 3、 配置struts.xml结果页面 <result name="findInStoreTaskSUCCESS">/WEB-INF/pages/zhongzhuan/instore_list.jsp</result> <result name="findOutStoreTaskSUCCESS">/WEB-INF/pages/zhongzhuan/outstore_list.jsp</result> <result name="findReceiveInfoTaskSUCCESS">/WEB-INF/pages/zhongzhuan/receiveinfo_list.jsp</result> 4、 Action办理对应节点任务 // 业务方法 ---- 办理入库任务 public String instorecomplete(){ InStore inStore = new InStore(); inStore.setInfo(info); inStore.setUpdateTime(new Date()); // 调用业务层 myTaskService.completeInStore(taskId, inStore); return "instorecompleteSUCCESS"; } // 业务方法 ---- 办理出库任务 public String outstorecomplete(){ OutStore outStore = new OutStore(); outStore.setInfo(info); outStore.setUpdateTime(new Date()); // 调用业务层 myTaskService.completeOutStore(taskId, outStore); return "outstorecompleteSUCCESS"; } // 业务方法 ---- 办理签收任务 public String receiveinfocomplete(){ ReceiveGoodsInfo receiveGoodsInfo = new ReceiveGoodsInfo(); receiveGoodsInfo.setInfo(info); receiveGoodsInfo.setUpdateTime(new Date()); // 调用业务层 myTaskService.completeReceiveGoodsInfo(taskId, receiveGoodsInfo); return "receiveinfocompleteSUCCESS"; } 5、 struts.xml 跳转回任务列表 <result name="instorecompleteSUCCESS" type="redirectAction">task_findInStoreTask</result> <result name="outstorecompleteSUCCESS" type="redirectAction">task_findOutStoreTask</result> <result name="receiveinfocompleteSUCCESS" type="redirectAction">task_findReceiveInfoTask</result> 在JBPM在流程结束时,发生异常 org.springframework.dao.DataIntegrityViolationException: could not delete: [org.jbpm.pvm.internal.model.ExecutionImpl#50001]; SQL [delete from JBPM4_EXECUTION where DBID_=? and DBVERSION_=?]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: could not delete: [org.jbpm.pvm.internal.model.ExecutionImpl#50001] 解决: hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect ======================================================================================================================== 三、 流程实例 查看管理 1、 查询实例功能 查询系统正在运行实例 ExecutionService.createProcessInstanceQuery() 查询系统已经完成的实例 HistoryService.createHistoryProcessInstanceQuery() json/admin/json { id:1005, pId:100, name:"查看正在运行的任务", t:"",page:"page_workflow_processinstance.action"} 改为 { id:1005, pId:100, name:"查看正在运行的任务", t:"",page:"processinstance_list.action"} 2、 每个运行流程实例,关联流程变量 ZhongZhuanInfo 包含所有流程信息 根据流程实例id 查询ZhongZhuanInfo数据 (ZhongZhuanInfo) processEngine.getExecutionService().getVariable(pid, "zhongZhuanInfo"); 服务器返回 中转信息 result = zhongZhuanInfo.toString(); <result name="showInfoSUCCESS" type="json"> <param name="root">result</param> </result> 在页面抓取中转信息,回显 $.post("${pageContext.request.cotnextPath}/processinstance_showInfo.action", {"pid": pid}, function(data){ $.messager.alert("流程实例信息", data, "info"); }); 3、 实例运行的流程图查看 需要在流程图上面 标记每个 流程运行到哪个任务节点 第一步: 为每条实例记录,添加查看流程图函数 <a href="#" class="easyui-linkbutton" onclick="showPng('<s:property value="#processInstance.id"/>');">查看流程图</a> function showPng(pid){ alert("查看" + pid + "对应流程图"); } 第二步: 流程图查看Action 可以复用 ---- processdefinition_showpng.action?deploymentId= & resourceName= RepositoryService.getResourceAsStream(java.lang.String deploymentId, java.lang.String resourceName) * resourceName 可以通过 deploymentId 动态获得 RepositoryService repositoryService = processEngine.getRepositoryService(); ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().deploymentId(deploymentId).uniqueResult(); resourceName = processDefinition.getImageResourceName(); 第三步: 点击查看流程图, 获得活动节点坐标 通过 window.showModalDialog() 查看流程图页面 (弹出窗口,显示页面 url地址不能修改 ) function showPng(pid){ //alert("查看" + pid + "对应流程图"); window.showModalDialog("${pageContext.request.contextPath}/processinstance_findactivityinfo.action?pid="+pid); } 查看某一个具体活动节点坐标 String processDefinitionId = "test-1"; // 流程定义的id String activityName = "start1"; // 活动的名称 ActivityCoordinates c = processEngine.getRepositoryService() .getActivityCoordinates(processDefinitionId, activityName); 查看当前流程实例活动所有节点名称 ProcessInstance的 java.util.Set<java.lang.String> findActiveActivityNames() @Override public List<ActivityCoordinates> findActivityCoordinates(String pid) { // 1、 根据流程实例id 获得所有活动节点名称 ProcessInstance processInstance = processEngine.getExecutionService().createProcessInstanceQuery().processInstanceId(pid).uniqueResult(); Set<String> activityNames = processInstance.findActiveActivityNames(); // 2、一个活动节点 --- 对应一个坐标对象 List<ActivityCoordinates> activityCoordinates = new ArrayList<ActivityCoordinates>(); for(String activityName: activityNames){ // 获得每一个活动节点名称 String processDefinitionId = processInstance.getProcessDefinitionId();//流程定义id ActivityCoordinates activityCoordinate = processEngine.getRepositoryService().getActivityCoordinates(processDefinitionId, activityName); activityCoordinates.add(activityCoordinate); } return activityCoordinates; } ============ 为了在下一个页面 可以显示流程图, 根据实例id 查询 发布id @Override public String findDeploymentIdByProcessInstanceId(String pid) { ProcessInstance processInstance = processEngine.getExecutionService().createProcessInstanceQuery().processInstanceId(pid).uniqueResult(); ProcessDefinition processDefinition = processEngine.getRepositoryService().createProcessDefinitionQuery().processDefinitionId(processInstance.getProcessDefinitionId()).uniqueResult(); return processDefinition.getDeploymentId(); } <img src="${pageContext.request.contextPath }/processdefinition_showpng.action?deploymentId=<s:property value="#deploymentId"/>" style="position: absolute;top: 0;left: 0"/> <s:iterator value="#activityCoordinates" var="activityCoordinate"> <div style="width: <s:property value="#activityCoordinate.width"/>px; height: <s:property value="#activityCoordinate.height"/>px; left: <s:property value="#activityCoordinate.x"/>px; top: <s:property value="#activityCoordinate.y"/>px; position: absolute; border-color: red; border-style: solid; border-width: 1px;"> </s:iterator>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

=PNZ=BeijingL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值