开发工具分享
  • 首页
  • 计算科学
  • 文化旅游
  • 项目和网站
    • OSSEZ 计算技术
    • USRealEstate 社区
    • 地区文化
    • CWIKI.US
    • BUG.OSSEZ.COM
    • RSS.OSSEZ.COM
CWIKIUS.CN
一个有独立思考和温度的清新站
U.S.

代理(Agent)和经纪人(Broker)

在美国进行不动产购买,销售的活动中。最容易搞混的就是这 2 个概念了。定义是英文,如果直接翻译过来就很难理解,也有可能完全理解错了。 在不严谨的时候,代理和经纪人的定义可能会被混合使用。比如说有人对你说我已经考取了美国地产经纪人资格证,其实很大一部分情况是这个人考取了 Agent 证书并且开始在某一个 Broker 旗下开展工作。 为了更好的解释,我们会结合案例分析的方式来进行说明。 Broker 和 Agent 的这个概念其实是经济学中的概念。银行,保险,地产都属于资本密集型的行业,因此也属于金融体系的一部分。2008 年的次贷危机,我相信很多人都心有余悸吧,也就是资本市场出了问题后,传递到了地产崩盘,再进一步通过资本市场放大,最后拉跨了银行系统。最直观的感觉就是房价暴跌,但是深层次的原因却要复杂得多。 在金融体系中有一个概念就是交易。假设,所有人都把钱存银行,不在市场销售和购买任何商品,那这个交易活动就是 0 (最最最的原始社会有可能出现没有交易这种情况 ,哪怕是以物易物也是交易),现实中无交易这种情况是不可能的。金融系统的收益和风险有部分是从交易中获得的(银行手续费,微信转账手续费等等)。相对于一个小额交易来(比如说买个早餐),房地产交易就要复杂得多了。复杂的原因在于交易金额要远远大于一顿早餐,交易成功后的后续时间长,衍生交易多(折旧,更新,出租)等等,都属于需要考虑的因素。再加上,信贷体系,保险,金融的介入就导致地产行业复杂得多了。 为了理清地产 Broker 和 Agent 的概念,我们就需要对交易的进行定义了。我们在这里不考虑复杂的金融体系,只针对交易这个行为来描述。在大部分情况你需要面对的 Broker 和 Agent 的概念都是在交易中。 假设在一个股票交易中,你买卖股票,你是通过谁进行买卖的呢?我相信很多人都会明确的回答是券商。 在进行股票交易的时候,你需要在券商哪里开户,开户后存入资金,然后通过交易渠道进行交易。这个交易渠道可以是电脑撮合系统,也可以是电话打给券商让券商帮你下单。在交易成功后,你需要支付给券商相应的费用,例如,交易手续费,税费(国家代收,在美国也是一样的)等。 在这个过程中,券商就是你的 Broker。在美国资本市场,你需要开户的话,你会被告知需要找一个 Broker 进行开户,这个 Broker 可以是各个券商,比如说美林证券,摩根大通等。 等价到房地产交易中,房地产交易中的 Broker 定义也就是这个券商但又不完全一样,比如说你并不需要将保证先存入 Broker 账户才能进行让你签订合同(这里与先存钱后进行股票交易就不一样了)。但在合同签署后,你的预付款,保证金的存入对象还是 Broker。如果你进行房屋购买的话,你的存入对象就是对方 Agent 所在的 Broker。 举例来说,你看中了一套房子,非常满意,你在卖家商量价格后签署了合同。在一般的实践上,签署合同后的 5  天(不是工作日)需要将预付款或者保证金进行支付,这个预付款和保证金是根据合同上签订的金额进行支付的,可能在几万美元之间,一般来说我们州是 1 万美元占大部分,根据具体合同不同而不同。 在开支票的时候,这个支票应该开给谁呢?这个支票应该开给卖方 Agent 所在的 Broker,自己的 Agent 和卖方的 Agent 都不应该接收这张支票,如果任何 Agent 说你把支票开给我吧,你可以拒绝(除非这个 Agent 本身就是 Broker,就算是这样,这张支票也应该开给公司,简单来说所有支票都应该是开给公司的。除非你最后 Closing 的时候和卖方商量直接开给卖方,我一般还是建议开给对方公司,让对方公司直接出支票给卖方,这样也比较简单,避免纠纷,这里还有很多其他的实践,我们在后面的文章中继续说明),并且可以明确的告诉 Agent,这是不合规的。一般来说 Agent 也不会要求直接把支票开给他自己,因为这是比较严重的违规, Agent 的许可证会因为这个行为可能被吊销。具体有关保证金的话题,我们在后面文章中进行详细描述。 再对应回股票交易,如果你找券商帮你完成交易的话,你就需要支付给这个券商一定的服务费了,这个就是你在房地产交易中定义的交易佣金了。美国的房地产中,绝大部分情况是卖家支付交易佣金,但是也不完全是这样的,与股票交易这里是不同的。比如说你买了亚马逊的股票,亚马逊是不会帮你支付交易佣金的。但是如果你买了房子,一般都是卖房子的人支付这个佣金,实际情况要复杂得多,交易过程中并不仅仅只有佣金,还有其他很多费用。那么其他费用(你有可能被要求支付部分这些费用的)如何支付我们在后面再慢慢描述吧。 聪明的你可能会问,如果我不找 Broker 或 Agent,自己进行房屋买房是否可行。 虽然,我并不建议这样做。但是,答案是可以的,这个并不违反美国的法律法规。 那么为什么绝大部分人都会找 Agent 的去完成交易呢?这个不是在这里我们讨论的问题,我们在后面的文章中专门进行解答。 我们在这里解释了 Broker 的概念,但是我们好像没有看到 Agent 的概念。 还是以股票交易为例。假设你和你的券商签订了为期 6 个月的合同,在这 6 个月内,你的交易都由你签约的券商来负责。那么在这个时候,你可能希望券商提供资产分析报表,损益表,市场分析报表,提供交易购买建议等等等服务。你的券商会对你说,那这样吧,我给你指派一个人,这个人专门负责处理你的这个交易事宜。并且这个人是为我这个券商服务的,在实际生活中这个人就是你的理财经理了。这个理财经理代替你的券商安排你的交易和服务。 这个理财经理的角色就是 Agent。 同样的对应房地产交易,负责处理你交易的就是 Agent。这个 Agent 可以是你自己找的,也可以是你找到 Broker 后 Broker 指派的。不管哪种情况为你服务的 Agent 都需要具有许可证。相比券商下面安排理财经理来说,房地产的 Agent 要求就要高得多了,不是阿猫阿狗都能做的。 正是这种许可证制度,也导致了 Agent 和 Broker 的关系没有那么紧密,Agent 可以随时更换 Broker,Broker 也可以终止和 Agent 的合作关系。 对于绝大部分的消费者来说,与你直接面对面的还是与你打交道的 Agent。如果一切顺利,你可能甚至都感觉不到 Broker 的存在。但是,一旦涉及到法律纠纷和投诉,等等问题的时候,消费者需要明确你的起诉或投诉的主体是这个 Agent 当时所在的 Broker。 你与 Agent 签署的所有文件的法律主体对象就是这个 Agent 所在的 Broker,只是在签署的时候 Agent 代替 Broker 履行了签署合同的行为,以及承担为你服务的责任和义务。 这样的解释,您是不是对 Agent 和 Broker 的定义有所了解呢?   https://www.cwiki.us/display/USRealEstate/Agent+and+Broker

2019年01月26日 0Comments 1321Browse 0Like Read more
U.S.

在美国的房产经纪人

我也凑个热闹说说美东地区吧。 本人是NH, MA 地产经纪人。说心里话最开始接触这个行业也是和工作有关。研究生大学毕业后一直在地产公司从事软件和技术开发工作。因为身份限制没有办法获得资格证。看见公司里面地产经纪做的风生水也想着学学,艺多不压身嘛。 分几个方向来说吧。   如何成为经纪人 考试是肯定需要的。在考试之前,你需要完成 40 个小时的课时,有些州认可在线的,有些州必须要到课堂上学才可以。NH 是必须要到课堂上学的。一般来说考试分为联邦的州内的考试。在 NH 70% 算通过。不同州考试内容不一样,一般来说联邦的内容是一样的。如果你已经持有某个州的经纪人资格,但是你希望成为另外一个州的经纪人。你可以不用从头开始学,你可以申请只考你不具有资格的州的州内部分考试就可以了。 你需要在哪个州进行地产交易,那么你需要注册成为成交州的代理经纪人资格才可以。   考试难度 比想象中的难一些。没有那么简单。也不怕丢人,我个人认为考试 70% 通过率按照咋们中国人的学习能力应该是不难的。第一次没有认真看书,就是大致看了下,自我感觉还不错,觉得应该没有问题。结果只有 60 多一点点。州内部分和联邦部分都没有过。 有了第一次经验后,发现不能这样,所以第二次就认真看书了,而且觉得内容还比较多。很多东西你需要认真看书后理解才能准确选择。选择干扰项很多,为了不让州内内容干扰我,第二次考试的时候选择只过联邦部分,就是更多的学习时间在联邦部分了。顺利通过联邦部分,只有州内部分没过。 后面就是州内部分的考试,接着又考了 2 次才过。 总结起来考试就是一定要认真看几次,要理解了才能准确选择,想投机取巧,估计还是有点难度。但是相比学校的学习和考试来说,还是要简单一点点,需要花点时间,但是也绝对没有简单到随便看看就能过的那种程度。   营销实践 如其他答主说的,这个行业本身竞争是比较激烈的。而且情商和智商都比较重要,与你每天面对办公室的工作来说也有不少的乐趣。正是因为竞争比较激烈,所以这个行业其实也是比较规范的,每个人都通过自身的努力和知识去赚取属于自己的报酬。很多经纪人也都是兼职的,平时可能他们都还有一份其他的工作。 就我目前的理解来说,诚实和信任是非常重要的。如果你的客户能够信任你,那你相对做起来就比较容易,如果你的客户不是十分信任你,那么你需要首先让你的客户能够信任你。 这个信任有各个方面的,不仅仅是信任你这个人,还需要信任你有足够的经验和经历能够做好这个工作,保护客户的同时也能够为客户争取最大的利益。每一个人在这个方面的实践和努力都不一样,所以也没有一个准确的答案。 我个人比较喜欢诚实的回答和解决问题。有些问题可能不好意思说,但是至少我会采取一个比较能够让客户接受的方式来表达。很多东西良好的沟通是成功的一半,但这个沟通也是要建立在诚实的基础上的。   其他 在美国做地产经纪人和国内是完全不一样的概念。在这里你需要对合同,房屋结构,Lot,描述,估价,房屋检查 等等等...... 的概念和实践都要有所了解。同时你还要对你本州的一些特定的法律法规也要有所了解。有时候你还得不厌其烦的阅读你州内的一些法律的更新。这个还是有一定的工作量的,不过还是挺开心的。开始的时候可能难度稍微大点,但是随着你经验的增加,你会发现其实也挺有意思的,并没有文字那么枯燥,也能更容易抓住重点吧。 收入来说,这个行业简单来说就是有一顿没一顿的。与在公司上班来说,肯定是公司上班来得稳定。至于那个更好,这个不好说了。我个人还是倾向年轻的时候可以在一些公司里面工作下,积累点技术,积累点知识。很多人都会在工作多年后感觉到职业天花板的存在,尤其是华人,尤其是我们 IT 行业。这个就非常明显了,这个时候你也可以选择做地产经纪人,至少我觉得地产经纪人没有退休一说,很多时候还是越老越吃香。 去科技公司工作几年后,上不上,下不下。这个主要是看每个人的心态,我个人是闲不住,也许去大公司工作并不适合我吧。 反正这个经纪人的东西还挺多,也不是三言两语能说清楚的。 如果还有什么想知道的,欢迎直接来问我,来美东地区也可以联系我呀。

2019年01月25日 0Comments 1091Browse 0Like Read more
Computer Science

Spring Batch JSR-305 支持

本发布版本中为 JSR-305 支持添加了一个注解。这个为了与 Spring 框架中的  Null-safety 注解取得平衡,然后为 Spring Batch 添加为 public APIs。 这个注解不仅仅在使用 Spring Batch APIs 来强制空安全(null-safety),同时还可以通过使用 IDEs 来提供有用的相关 nullability 信息。例如,如果用户希望实现 ItemReader  接口,任何能够支持 JSR-305 注解的 IDE 将会生成类似下面的代码:   public class MyItemReader implements ItemReader<String> {         @Nullable         public String read() throws Exception {                 return null;         } }   @Nullable 注解将会出现在 read 方法中,用来表示这个方法的内容可能将会返回一个 null。 这个将会强制在 Javadoc 中强制表示当在数据资源耗尽的时候,方法 read 将会返回一个 null。 https://www.cwiki.us/display/SpringBatchZH/JSR-305+Support

2019年01月21日 0Comments 1225Browse 0Like Read more
Computer Science

Spring Batch Bean 校验 API 支持

这个发布版本带来了一个新的  ValidatingItemProcessor 实现,这个实现被称为 BeanValidatingItemProcessor。能够让你使用 Bean Validation API (JSR-303) 来校验 Item 的注解。例如给定下面的类型 Person: class Person {     @NotEmpty     private String name;     public Person(String name) {         this.name = name;     }     public String getName() {         return name;     }     public void setName(String name) {         this.name = name;     } } 你可以通过在你的应用上下文中声明一个 BeanValidatingItemProcessor  并在你的原始块步骤中注册来校验 items: @Bean public BeanValidatingItemProcessor<Person> beanValidatingItemProcessor() throws Exception {         BeanValidatingItemProcessor<Person> beanValidatingItemProcessor = new BeanValidatingItemProcessor<>();         beanValidatingItemProcessor.setFilter(true);         return beanValidatingItemProcessor; }   https://www.cwiki.us/display/SpringBatchZH/Bean+Validation+API+support

2019年01月21日 0Comments 928Browse 0Like Read more
Computer Science

IntelliJ IDEA 第一个 Scala 程序

IntelliJ 安装完成 Scala 插件后,你需要尝试使用 IntelliJ 来创建并且运行第一个程序。 通常这个程序只是简单的输出 Hello World。 创建一个新工程 在文件下面选择新建,然后选择创建工程。 输入工程信息 在创建工程上面,输入工程的信息,指定工程的路径等。 在这里特别需要注意的地方是创建工程的 Scala SDK 配置,你需要现在你的系统中配置 SDK,有关配置 SDK 的方法,请参考页面Scala 安装及环境配置中的内容。 选择 SDK 单击创建后,你将会看到需要选择的 SDK。 在这里选择需要的 SDK 就可以了。 完成 SDK 选择后的新项目界面 当你完成 SDK 项目选择后的界面如下图,你可以看到你的 SDK 已经配置完成了。 然后单击这个界面中的 Finish(完成)你就可以完成项目的创建了。 创建你的第一个 Scala 程序 在新创建的项目中,使用鼠标定位到 src 文件夹,然后右击,新建一个 Scala 的类。 输入新建类的名字 在弹出的窗口中,输入需要新建类的名字。 在这里,我们假设需要创建的类的名字为 Hello,你可以在这里输入你新创建的类的名字 Hello。 输入代码 你可以在代码输入窗口中,简单的输入下面的代码: object Hello extends App {   println("Hello, World!") } 上面的代码将会简单的输入字符串 Hello, World! 运行代码 你有下面 2 个方法运行代码,你可以在左侧的项目中,选择需要运行的类。然后右击鼠标,在弹出窗口中选择运行 Hello,Hello 是你创建的这个类的名字。 你也可以直接在你的程序上面单击运行你创建的这个类。 程序运行的结果可以在下面的控制台中看到。 这样你就完成了你的第一个 Scala 类的创建和运行。 "C:\Program Files\Java\jdk1.8.0_172\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.3.3\lib\idea_rt.jar=58176:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.3.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_172\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\rt.jar;C:\Users\Yucheng\Documents\WorkDir\Repository\cwiki-us\codebank-scala\out\production\codebank-scala;C:\Users\Yucheng\Dkits\scala\lib\scala-library.jar;C:\Users\Yucheng\Dkits\scala\lib\scala-parser-combinators_2.12-1.0.7.jar;C:\Users\Yucheng\Dkits\scala\lib\scala-reflect.jar;C:\Users\Yucheng\Dkits\scala\lib\scala-swing_2.12-2.0.3.jar;C:\Users\Yucheng\Dkits\scala\lib\scala-xml_2.12-1.0.6.jar" Hello Hello,World! Process finished with exit code 0 程序运行的结果如上面所示。 在最开始是有关你系统路径的配置。 https://www.cwiki.us/pages/viewpage.action?pageId=41686101

2019年01月20日 0Comments 1139Browse 0Like Read more
Computer Science

IntelliJ IDEA 安装 Scala 插件

本页面中对在 IntelliJ 中安装 Scala 插件的步骤和方法进行了描述。 需要在 IntelliJ  安装 Scala 插件,你首先需要在你的计算机中安装 IntelliJ 。IntelliJ  的安装比较简单,一般按照步骤安装就可以了。IntelliJ  有 2 个版本,一个是社区版,一个是专业版。社区版是免费的,如果你不想付费的话,安装 IntelliJ  社区版就可以了。 在 IntelliJ 找到设置中的插件 单击设置后打开设置窗口 在打开的设置窗口中,找插件选择项。 在插件选择项目的右侧,你应该可以看到 Scala 的插件安装选项,如果没有的话,你可以在搜索栏中进行搜索。 然后单击进行插件的安装。 Scala 插件安装进程 插件的安装进程请参考下面的图。 提示重启 安装完成后,按照提示要求重启 IntelliJ。 验证安装成功 想要验证安装是否成功,你可以尝试使用 IntelliJ 创建一个新的工程。 在创建工程的窗口中,如果你能看见 Scala 的选项的话,就说明你的插件已经安装成功了。 https://www.cwiki.us/pages/viewpage.action?pageId=41686091

2019年01月20日 0Comments 1208Browse 0Like Read more
Computer Science

Windows 上安装 Scala

在安装 Scala 之前需要先安装 Java 环境,具体安装的详细方法就不在这里描述了。 您可以自行搜索我们网站中的内容获得其他网站的帮助来获得如何安装 Java 环境的方法。 接下来,我们可以从 Scala 官网地址 https://www.scala-lang.org/download/ 下载 Scala 二进制包,本教程我们将下载 2.12.8 版本,如下图所示: 你可以下载 msi 文件,然后双击进行安装。然后按照安装的提示,一步步进行安装就可以了。 在安装的过程中你可以使用默认的安装目录。安装好 Scala 后,系统会自动提示,单击 Finish,完成安装。 你可以可以在官方网站中下载 zip 文件夹,在我们这个安装教程中,我们使用的是 zip 文件的方式进行安装的。假设我们你将解压后的文件放置在:C:\Users\Yucheng\Dkits\ 目录下,scala 是解压后的文件夹。你可以将这个文件夹防止到你系统中的任何位置。 右击我的电脑,单击"属性",进入如图所示页面。 下面开始配置环境变量,右击【我的电脑】->【属性】→【高级系统设置】→【环境变量】,如图: 设置 SCALA_HOME 的变量。 单击新建,在变量名栏输入:SCALA_HOME, 变量值一栏输入:C:\Users\Yucheng\Dkits\scala 也就是 scala 的安装目录,根据个人情况有所不同。可能安装的路径也有所不同。 新建一个安装变量: 输入变量的值: 设置 Path 变量: 找到系统变量下的"Path"如图,单击编辑。在"变量值"一栏的最前面添加如下的路径: %SCALA_HOME%\bin 你可以为用户设置 Path 变量,你也可以为系统设置 Path 变量。 将变量添加到启动 Path 中,这样命令行在启动的时候就可以定位到需要的 bin 文件中。 "变量值"最前面的; 不要漏掉。最后单击确定即可。 检查环境变量是否设置好了:调出"powershell"检查,你也可以使用 "cmd" 进行检查。 单击 【开始】,在输入框中输入 powershell,然后"回车",输入 scala,然后回车,如环境变量设置没有问题的话,你应该能看到这些信息。 https://www.cwiki.us/pages/viewpage.action?pageId=41686079

2019年01月19日 0Comments 942Browse 0Like Read more
Computer Science

Spring Batch JSON 支持

Spring Batch 4.1 开始能够支持 JSON 格式了。这个发布介绍了一个新的数据读(item reader)能够读取一个 JSON 资源,这个资源按照下面的格式: [   {     "isin": "123",     "quantity": 1,     "price": 1.2,     "customer": "foo"   },   {     "isin": "456",     "quantity": 2,     "price": 1.4,     "customer": "bar"   } ]   与针对 XML 的 StaxEventItemReader 类似,新的 JsonItemReader 使用流 API(streaming APIs)来读取 JSON 对象到块中。Spring Batch 能够支持下面 2 个库: Jackson Gson 如果你还希望添加其他的库的话,你可以实现 JsonObjectReader  接口。 JSON 数据的写是通过 JsonFileItemWriter 来支持的。 有关更多 JSON 数据的支持,请参考 ItemReaders and ItemWriters 章节中的内容。 https://www.cwiki.us/display/SpringBatchZH/JSON+support

2019年01月18日 0Comments 1058Browse 0Like Read more
Computer Science

Spring Batch @EnableBatchIntegration 注解

设置一个远程分块任务需要定义一系列的 beans: 一个连接工程来从消息中间件中获得连接,消息中间件包括有(JMS,AMQP 和其他) 一个 MessagingTemplate  来从主向从发送消息,然后再次发送回来 为 Spring 整合从消息中间件中获得消息来创建一个输入和输出通道 一个特殊的内容写(item writer)(ChunkMessageChannelItemWriter)在主机侧,这样真多处理和写入能够知道如何发送分块数据到工作机 在工作机侧的消息监听器(ChunkProcessorChunkHandler)来从主机上接受数据 这个在第一次看来的时候好像非常复杂,并且是一个艰巨的任务。在新发布的版本中我们介绍使用注解 @EnableBatchIntegration 来作为一个新的 API(RemoteChunkingMasterStepBuilder 和 RemoteChunkingWorkerBuilder) 来简化配置。下面的示例显示了如何使用新的注解和 API:   @Configuration @EnableBatchProcessing @EnableBatchIntegration public class RemoteChunkingAppConfig {    @Autowired    private RemoteChunkingMasterStepBuilderFactory masterStepBuilderFactory;    @Autowired    private RemoteChunkingWorkerBuilder workerBuilder;    @Bean    public TaskletStep masterStep() {          return this.masterStepBuilderFactory                          .get("masterStep")                          .chunk(100)                          .reader(itemReader())                          .outputChannel(outgoingRequestsToWorkers())                          .inputChannel(incomingRepliesFromWorkers())                          .build();    }    @Bean    public IntegrationFlow worker() {          return this.workerBuilder                          .itemProcessor(itemProcessor())                          .itemWriter(itemWriter())                          .inputChannel(incomingRequestsFromMaster())                          .outputChannel(outgoingRepliesToMaster())                          .build();    }    // Middleware beans setup omitted }   这个新的注解和构造器配置了 beans 中最难配置的部分。现在你可以非常容易的配置主机和 Spring 整合到工作机。你可以找到远程分块示例。用户在这个示例中使用了 samples module API,有关更多细节的内容请参考 Spring Batch Integration 章节。 与远程快配置简单化一样,这个新的版本将会介绍新的 API 来简化远程分区设置:RemotePartitioningMasterStepBuilder 和 RemotePartitioningWorkerStepBuilder。 这些可以自动重写你的配置类,如果 @EnableBatchIntegration 出现了的话,具体的示例代码请参考下面的示例: @Configuration @EnableBatchProcessing @EnableBatchIntegration public class RemotePartitioningAppConfig { @Autowired private RemotePartitioningMasterStepBuilderFactory masterStepBuilderFactory; @Autowired private RemotePartitioningWorkerStepBuilderFactory workerStepBuilderFactory; @Bean public Step masterStep() { return this.masterStepBuilderFactory .get("masterStep") .partitioner("workerStep", partitioner()) .gridSize(10) .outputChannel(outgoingRequestsToWorkers()) .inputChannel(incomingRepliesFromWorkers()) .build(); } @Bean public Step workerStep() { return this.workerStepBuilderFactory .get("workerStep") .inputChannel(incomingRequestsFromMaster()) .outputChannel(outgoingRepliesToMaster()) .chunk(100) .reader(itemReader()) .processor(itemProcessor()) .writer(itemWriter()) .build(); } // Middleware beans setup omitted } 有关这个新注解的更多细节,请参考 Spring Batch Integration 章节中的内容。 https://www.cwiki.us/display/SpringBatchZH/@EnableBatchIntegration+Annotation

2019年01月18日 0Comments 1123Browse 0Like Read more
Computer Science

Spring Batch @SpringBatchTest 注解

Spring Batch 提供了一些非常有用的工具类(例如 JobLauncherTestUtils 和 JobRepositoryTestUtils)和测试执行监听器(StepScopeTestExecutionListener 和 JobScopeTestExecutionListener)来测试批量组件。然而, 为了能够使用这些工具类,你必须明确的对它们进行配置。这个发布介绍了一个新的注解,这个注解被命名为 @SpringBatchTest 能够自动的添加工具 bean(utility beans)和监听器(listeners)来测试上下文并且为自动写入来标记为可用,下面是一个示例代码: @RunWith(SpringRunner.class) @SpringBatchTest @ContextConfiguration(classes = {JobConfiguration.class}) public class JobTest {    @Autowired    private JobLauncherTestUtils jobLauncherTestUtils;    @Autowired    private JobRepositoryTestUtils jobRepositoryTestUtils;    @Before    public void clearMetadata() {       jobRepositoryTestUtils.removeJobExecutions();    }    @Test    public void testJob() throws Exception {       // given       JobParameters jobParameters =             jobLauncherTestUtils.getUniqueJobParameters();       // when       JobExecution jobExecution =             jobLauncherTestUtils.launchJob(jobParameters);       // then       Assert.assertEquals(ExitStatus.COMPLETED,                           jobExecution.getExitStatus());    } } 有关这个新注解的更多细节,请参考 Unit Testing 章节中的内容。   https://www.cwiki.us/display/SpringBatchZH/@SpringBatchTest+Annotation

2019年01月18日 0Comments 1261Browse 0Like Read more
1…235236237238239…304
Archives
  • June 2026
  • May 2026
  • April 2026
  • March 2026
  • February 2026
  • January 2026
  • December 2025
  • November 2025
  • October 2025
  • September 2025
  • August 2025
  • July 2025
  • June 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
  • April 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021
  • May 2021
  • April 2021
  • March 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • August 2020
  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019
  • November 2019
  • October 2019
  • September 2019
  • August 2019
  • July 2019
  • June 2019
  • May 2019
  • April 2019
  • March 2019
  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
Categories
  • Computer Science (2,367)
    • Confluence (663)
    • Gradle (12)
  • U.S. (524)
  • 文化旅游 (146)

COPYRIGHT © 2020 CWIKIUS. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

湘ICP备2020018253号-1