小编Sér*_*els的帖子

什么是文件创建的好设计模式?

在一个应用程序中,我有一个任务是创建将由第三方使用的文件.实际上文件中有三种不同类型的内容:

  1. 将数据发送到第三方应用程序的员工卡列表;
  2. 收集生物统计学的员工卡清单;
  3. 数字间隔.

现在我只有一个类FileGenerator(通用,我认为是坏名称)接收数据并创建一个具有一些名称约定的文件(时钟代码,文件类型,日期和小时).

有一个很好的设计模式,以确保文件名约定将保留,并为每种类型的文件分割特定类中的文件生成?

有一种很好的方法可以重用生成文件的代码(不要在特定的类中重复自己)?

这是现有课程的一部分:

class FileGenerator {
    private List<String> contentOfFile;
    private String fileName;

    //I - include employees
    //C - change employees
    //R - remove employees
    //B - collect biometry
    //N - interval of numbers
    private String option;

    private void getFileName(){ ... } //this assure the file name convention
    public void generate(){ ... } //this generate the file with content

}
Run Code Online (Sandbox Code Playgroud)

到目前为止我的想法:

  1. 创建一个abstract class以保存名称约定.并将内容写入文件.
  2. 创建一个factory class知道所有类型文件的工厂(工厂是一个很好用的模式吗?).
  3. 为文件类型实现具体类,以定义要写入的内容.

java file-io design-patterns file

5
推荐指数
1
解决办法
2040
查看次数

用于maven的Groovy Eclipse编译器插件没有编译任何东西

我正在尝试理解Maven中Java和Groovy项目的正确设置,使用groovy-eclipse-compiler编译源文件.

根据该插件的网站,如果你有文件src/main/javasrc/test/java编译器应该在默认情况下找到Java和Groovy的.

设置build类似示例使得为target/classes空.

<build>
...
<plugins>
  <plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.3.2</version>
    <configuration>
      <compilerId>groovy-eclipse-compiler</compilerId>
      <!-- set verbose to be true if you want lots of uninteresting messages -->
      <!-- <verbose>true</verbose> -->
    </configuration>
    <dependencies>
      <dependency>
        <groupId>org.codehaus.groovy</groupId>
        <artifactId>groovy-eclipse-compiler</artifactId>
        <version>2.7.0-01</version>
      </dependency>
    </dependencies>
  </plugin>
  ...
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)

我发现使其工作的唯一方法是使用build-helper-maven-plugin.这也是Archetype使用的选项:

mvn archetype:generate \
    -DarchetypeGroupId=org.codehaus.groovy \
    -DarchetypeArtifactId=groovy-eclipse-quickstart \
    -DarchetypeVersion=2.5.2-SNAPSHOT \
    -DgroupId=foo \
    -DartifactId=bar \
    -Dversion=1 \
    -DinteractiveMode=false \
    -DarchetypeRepository=https://nexus.codehaus.org/content/repositories/snapshots/
Run Code Online (Sandbox Code Playgroud)

那么,它的页面已经过时了吗?src文件夹中是否有足够的Java文件?

eclipse groovy maven

5
推荐指数
1
解决办法
6241
查看次数

如何在groovyConsole中显示HTTPBuilder日志

问题

我正在获取groovyx.net.http.HttpResponseException: Not Found并希望查看来自的日志HTTPBuilder。我正在将Groovy 2.1.9与一起使用groovyConsole

我尝试了什么

因此,我检查了该博客文章,其中提到有关添加log4j.xml到的信息groovy.home/conf/。我做到了,这是我的文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
    <appender name="console" class="org.apache.log4j.ConsoleAppender">
        <param name="Target" value="System.out" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d{ISO8601} %-5p  %c{1} - %m%n" />
        </layout>
    </appender>

    <category name="groovyx.net.http">
        <priority value="DEBUG" />
    </category>

    <!-- Use DEBUG to see basic request/response info;  
         Use TRACE to see headers for HttpURLClient. -->
    <category name="groovyx.net.http.HttpURLClient">
        <priority value="INFO" />
    </category>

    <category name="org.apache.http"> …
Run Code Online (Sandbox Code Playgroud)

groovy logging httpbuilder groovy-2

5
推荐指数
1
解决办法
4305
查看次数

衡量Tomcat性能和Pool max连接的最佳方法

假设我有一个拥有1000个并发用户的应用程序.

测量Tomcat性能的最佳方法是什么?如何确定最大数据库连接数(池)?

如何追踪内存泄漏,cpu泄漏?

java performance tomcat

4
推荐指数
1
解决办法
3011
查看次数

带有WindowListener的JDialog - 未触发windowClosing

我有一个扩展JDialog的类,它有一个窗口监听器:

class MyClass extends JDialog {

     public MyClass() {
         setDefaultCloseOperation( JDialog.DO_NOTHING_ON_CLOSE );
         addWindowListener( new WindowAdapter() {

                @Override
                public void windowClosing(WindowEvent e) {
                    System.out.println("closing...");
                    //do something...
                }

            });
     }

}
Run Code Online (Sandbox Code Playgroud)

当我点击X按钮时,没有任何反应.我没有看到"关闭......"的印刷品

我错过了什么?

java swing jdialog windowlistener

4
推荐指数
1
解决办法
1万
查看次数

将UTC日期作为默认值

在SQL Server中可以创建这样的表:

create table test (
  [TimeStamp_test] [datetime] NOT NULL DEFAULT (getutcdate())
);
Run Code Online (Sandbox Code Playgroud)

我们有类似的对任何事物getutcdate()oracle

我知道使用SELECT SYS_EXTRACT_UTC FROM DUAL(即使用插入此表的触发器).

如果还有其他简单的选择,请告诉我,谢谢.

oracle

3
推荐指数
1
解决办法
4862
查看次数

Keycha事件未使用Sencha的Architect代码触发

我试图找出为什么我的keyup事件没有被触发.我创建了一个UpperCaseTextField(在Sencha Architect内部)并以一种形式(链接)使用它.

实例:http://jsfiddle.net/wyQUb/

UpperCaseTextField

Ext.define('MyApp.view.UpperCaseTextField', {
    extend: 'Ext.form.field.Text',
    alias: 'widget.uppercasetextfield',

    initComponent: function () {
        var me = this;

        Ext.applyIf(me, {
            listeners: {
                keyup: {
                    fn: me.onTextfieldKeyup,
                    scope: me
                }
            }
        });

        me.callParent(arguments);
    },

    onTextfieldKeyup: function (textfield, e, eOpts) {
        var me = this;
        alert('keyup');
        var upper = me.getValue().toUpperCase();
        me.setValue(upper);
    }

});
Run Code Online (Sandbox Code Playgroud)

我错过了什么或listeners配置应该工作?

extjs extjs4 sencha-architect

1
推荐指数
1
解决办法
2935
查看次数