Hello Weijie,

Thank you,  good ideas.  Maybe we can do that:


1.  Move the `@ElasticScheduled` annotation to `api/annotation`.  We can
have the same annotation , and different annotation processor without
Spring.

2.  Yes, this is important. I have a idea like that:

Set Scheduled
```
package
org.apache.shardingsphere.elasticjob.lite.spring.core.annotation.job.impl;
@ElasticScheduled(
        cron = "0/5 * * * * ?",
        jobName = SimpleTestJobFirst
        shardingTotalCount = 3,
        shardingItemParameters = "0=Beijing,1=Shanghai,2=Guangzhou",
        extraConfigurations = {"SimpleTracingConfiguration"}
)
public class SimpleTestJob implements CustomJob {

    @Override
    public void execute(final ShardingContext shardingContext) {
    }

}
```

Set Configurable

```
//spring example
@Configurable
@EnableElastic(scanBasePackages =
"org.apache.shardingsphere.elasticjob.lite.spring.core.annotation.job.impl")
public class ElasticConfig {

    @Bean
    public DataSource dataSource() {
        BasicDataSource dataSource = new BasicDataSource();
        dataSource.setDriverClassName("org.h2.Driver");
        dataSource.setUrl("jdbc:h2:mem:job_event_storage");
        dataSource.setUsername("sa");
        dataSource.setPassword("");
    }

    @Bean("SimpleTracingConfiguration")
    public TracingConfiguration<DataSource> myTracingConfiguration() {
        return new TracingConfiguration<>("RDB", dataSource());
    }
}
```
or

```
//spring boot example
@Configurable
@EnableElastic(scanBasePackages =
"org.apache.shardingsphere.elasticjob.lite.spring.core.annotation.job.impl")
public class ElasticConfig {

    @ConditionalOnBean(DataSource.class)
    @Bean("SimpleTracingConfiguration")
    public TracingConfiguration<DataSource> myTracingConfiguration(final
DataSource dataSource) {
        return new TracingConfiguration<>("RDB", dataSource);
    }
}
```

3.  Of course

------------------
Sincerely,
SunKai  Cai (skai)

吴伟杰 <wuwei...@apache.org> 于2021年8月11日周三 下午6:38写道:

> Hi Sunkai,
>
> I have some ideas about your proposal:
> 1. Could we consider using the annotation without Spring?
> 2. Could we configure the jobs by annotations only? How to configure
> the JobExtraConfiguration like TracingConfiguration by annotations?
> 3. Support using YAML to configure jobs without Spring. This can refer
> to how ShardingSphere does.
>
> ------------------
>
> Sincerely,
> Weijie Wu (TeslaCN)
> Apache ShardingSphere
>
> sk c <sunkai....@gmail.com> 于2021年8月10日周二 下午3:43写道:
> >
> > Hi everyone,
> >
> > I prefer to discuss the annotation of ElasticJob  plan.
> >
> > example:
> >
> > ```
> > @ElasticScheduled(
> >         cron = "0/5 * * * * ?",
> >         jobName = "SimpleTestJobSecond",
> >         shardingTotalCount = 3,
> >         shardingItemParameters = "0=Beijing,1=Shanghai,2=Guangzhou",
> >         jobListenerTypes = {"NOOP", "LOG"},
> >         props = {
> >                 @ElasticJobProp(key = "print.title", value = "test
> title"),
> >                 @ElasticJobProp(key = "print.content", value = "test
> > content")
> >         }
> > )
> > public class SimpleTestJob implements CustomJob {
> >
> >     @Override
> >     public void execute(final ShardingContext shardingContext) {
> >     }
> >
> > }
> > ```
> >
> > ```
> > @Configuration
> > @EnableElastic(scanBasePackages =
> > "org.apache.shardingsphere.elasticjob.lite.example.job.simple")
> > public class ElasticConfig {
> >
> > }
> > ```
> >
> > we can look at it on
> > https://github.com/apache/shardingsphere-elasticjob/pull/1954
> >
> > I am going to work it soon. Please remind me if you have a suggestion.
> >
> >
> > ------------------
> > Sincerely,
> > SunKai  Cai (skai)
>

Reply via email to