当前位置: 代码迷 >> Web前端 >> java札记
  详细解决方案

java札记

热度:339   发布时间:2012-06-29 15:48:46.0
java笔记
1、线程
protected void process()
    {
        ExecutorService executorService;
        //开10个线程
        executorService = Executors.newFixedThreadPool(10);
        //来一批数据,提交一个线程
        executorService.submit(new Runnable()
        {
            @Override
            public void run()
            {
                //do something
            }
        });
    }


2、jaxb
public void init() throws Exception
    {
        InputStream input = this.getClass()
                .getClassLoader()
                .getResourceAsStream("conf/report.xml");
        JAXBContext jc = JAXBContext.newInstance("com.dxy.report.types");
        Unmarshaller u = jc.createUnmarshaller();
        Reports reports = (Reports) u.unmarshal(input);         
        List<ReportType> reportList = reports.getReport();
        for (ReportType reportType : reportList)
        {
            reportDefinitions.add(new ReportDefinitionImpl(reportType));
        }
    }


3、加载配置文件
public static void doTest()
    {
       ApplicationContext appContext = new ClassPathXmlApplicationContext(
                "META-INF/spring/service-context.xml");
        
        A a= (A) appContext.getBean("id");
    }


4、xjc工具
xjc.sh -p com.test.type reports.xsd -d work

选项说明:
-p:指定生成的类的包名
-d:指定存放类的目标目录

5、spring定时器:定时执行excute方法
<bean id="report_clearHistory" class="org.springframework.scheduling.quartz.CronTriggerBean">
		<property name="jobDetail">
			<bean
				class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
				<property name="targetObject">
					<bean
						class="com.dxy.ftp.CleanHistoryReportFileTimerTask">
						<property name="fileAndFtpService" ref="report_FileAndFtpService"></property>
					</bean>
				</property>
				<property name="targetMethod">
					<value>execute</value>
				</property>
				<property name="concurrent" value="false" />
			</bean>
		</property>
		<property name="cronExpression">
			<value>${report.localfile.clean.triggerCron}</value>
		</property>
	</bean>

	<bean id="report_schedulerFactory"
		class="org.springframework.scheduling.quartz.SchedulerFactoryBean"
		destroy-method="destroy">
		<property name="triggers">
			<list>
				
				<ref bean="report_clearHistory" />
			</list>
		</property>
	</bean>

	<bean id="holder"
		class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
		<property name="ignoreResourceNotFound" value="true" />
		<property name="locations">
			<list>
				<value>classpath*:conf/timertask.properties</value>
			</list>
		</property>
	</bean>

public void execute()
    {
        holdingDays = 3;
        
        for (SourceType sourceType : SourceType.values())
        {
            try
            {
                fileAndFtpService.clearLocalReportFile(sourceType, holdingDays);
            }
            catch (ReportException e)
            {
                //
            }
        }
    }
  相关解决方案