{"id":3197,"date":"2021-02-02T14:17:10","date_gmt":"2021-02-02T14:17:10","guid":{"rendered":"https:\/\/visualitynq.com\/?p=3197"},"modified":"2023-02-14T10:55:10","modified_gmt":"2023-02-14T09:55:10","slug":"a-java-infusion","status":"publish","type":"post","link":"https:\/\/visualitynq.com\/de\/resources\/articles\/a-java-infusion\/","title":{"rendered":"Eine Java-Infusion"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"3197\" class=\"elementor elementor-3197\">\n\t\t\t\t\t\t\t\t\t<section data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-section elementor-top-section elementor-element elementor-element-46baed5 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"46baed5\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-0732a6a\" data-id=\"0732a6a\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-975aa21 elementor-widget elementor-widget-heading\" data-id=\"975aa21\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.6.7 - 03-07-2022 *\/\n.elementor-heading-title{padding:0;margin:0;line-height:1}.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}<\/style><h2 class=\"elementor-heading-title elementor-size-default\">A Journey<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f71bbef elementor-widget elementor-widget-text-editor\" data-id=\"f71bbef\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.6.7 - 03-07-2022 *\/\n.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:#818a91;color:#fff}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap{color:#818a91;border:3px solid;background-color:transparent}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap{margin-top:8px}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter{width:1em;height:1em}.elementor-widget-text-editor .elementor-drop-cap{float:left;text-align:center;line-height:1;font-size:50px}.elementor-widget-text-editor .elementor-drop-cap-letter{display:inline-block}<\/style>\t\t\t\t<div class=\"elementor-element elementor-element-f4360bf elementor-widget elementor-widget-text-editor\" data-id=\"f4360bf\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\"><div class=\"elementor-widget-container\"><p>A couple of summers ago, I rode the\u00a0<a href=\"https:\/\/gfp.sd.gov\/parks\/detail\/george-s--mickelson-trail\/\">Mickelson Trail<\/a>\u00a0through the Black Hills of South Dakota, USA.\u00a0 It\u2019s a gravel trail, roughly 109 miles (175km) long.\u00a0 I rode my old mountain bike.\u00a0 The northern end starts in the town of Deadwood, and the southern end is in Edgemont, and you will be entirely forgiven if you have never heard of either<a href=\"#further-reading\" data-uk-smooth-scroll=\"{offset: 90}\"><sup>1<\/sup><\/a>.<\/p><p>The ride, at times, was lonely and daunting.\u00a0 There were surprises and setbacks along the way.\u00a0 The trail was rough, the territory unfamiliar, and cell phone coverage was typically nil.\u00a0 I would do it again in a heartbeat given the chance.<\/p><p>It was a lot like other journeys I\u2019ve taken, including that one time when I set out to write an SMB toolkit in Java.\u00a0 Just as I know how to ride a bicycle, I knew enough about SMB.\u00a0 Java, however, was a new and different landscape.<\/p><\/div><\/div>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c447a38 elementor-widget elementor-widget-template\" data-id=\"c447a38\" data-element_type=\"widget\" data-widget_type=\"template.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-template\">\n\t\t\t\t\t<div data-elementor-type=\"section\" data-elementor-id=\"2864\" class=\"elementor elementor-2864\">\n\t\t\t\t\t\t\t\t<section data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-section elementor-top-section elementor-element elementor-element-d4283cb elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"d4283cb\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-921efa7\" data-id=\"921efa7\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-b9c3274 elementor-widget elementor-widget-heading\" data-id=\"b9c3274\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<div class=\"elementor-heading-title elementor-size-default\">Learn if Visuality Systems SMB solutions can work for you<\/div>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-section elementor-inner-section elementor-element elementor-element-d017e22 elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"d017e22\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-inner-column elementor-element elementor-element-82ae979\" data-id=\"82ae979\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-9fe1e95 elementor-cta--skin-cover vyn-cta-slide vyn-cta-slide-static elementor-cta--valign-top elementor-widget elementor-widget-call-to-action\" data-id=\"9fe1e95\" data-element_type=\"widget\" data-widget_type=\"call-to-action.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<link rel=\"stylesheet\" href=\"https:\/\/visualitynq.com\/app\/uploads\/sites\/4\/elementor\/css\/custom-pro-widget-call-to-action.min.css?ver=1760945776\">\t\t<a class=\"elementor-cta\" href=\"https:\/\/visualitynq.com\/products\/ynq\/\">\n\t\t\t\t\t<div class=\"elementor-cta__bg-wrapper\">\n\t\t\t\t<div class=\"elementor-cta__bg elementor-bg\" style=\"background-image: url(https:\/\/visualitynq.com\/app\/uploads\/sites\/4\/ynq-cta-01.svg);\"><\/div>\n\t\t\t\t<div class=\"elementor-cta__bg-overlay\"><\/div>\n\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-cta__content\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-content-item elementor-cta__content-item elementor-icon-wrapper elementor-cta__icon elementor-view-default\">\n\t\t\t\t\t\t<div class=\"elementor-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"183.052\" height=\"73.463\" viewBox=\"0 0 183.052 73.463\"><g id=\"Group_1192\" data-name=\"Group 1192\" transform=\"translate(-165.711 -2331.881)\"><path id=\"Subtraction_17\" data-name=\"Subtraction 17\" d=\"M-1104.269-142.127a24.391,24.391,0,0,1-10.941-2.449,28.21,28.21,0,0,1-8.492-6.4,28.561,28.561,0,0,1-5.491-9.085,29.685,29.685,0,0,1-1.935-10.507,28.79,28.79,0,0,1,2.054-10.744,29.948,29.948,0,0,1,5.648-9.085,27.123,27.123,0,0,1,8.532-6.281,25.024,25.024,0,0,1,10.665-2.33v7.978a15.872,15.872,0,0,0-7.545,1.777,17.917,17.917,0,0,0-5.609,4.661,21.335,21.335,0,0,0-3.515,6.557,23.569,23.569,0,0,0-1.225,7.465,23.706,23.706,0,0,0,1.265,7.663,20.907,20.907,0,0,0,3.595,6.557,17.637,17.637,0,0,0,5.648,4.542,16.128,16.128,0,0,0,7.426,1.7,16.5,16.5,0,0,0,4.9-.711,16.164,16.164,0,0,0,4.187-1.975l-7.979-9.243h8.532l4.028,4.661a19.915,19.915,0,0,0,3.082-6.2,24.421,24.421,0,0,0,1.027-6.991c0-.663-.026-1.327-.077-1.973h9.089c.049.684.073,1.374.073,2.052a28.873,28.873,0,0,1-1.975,10.625,29.5,29.5,0,0,1-5.531,8.967l7.348,8.374h-8.532l-3.634-4.108a27.063,27.063,0,0,1-6.834,3.317A25.3,25.3,0,0,1-1104.269-142.127Z\" transform=\"translate(1411.39 2547.47)\" fill=\"#6f89e3\"><\/path><path id=\"Path_6201\" data-name=\"Path 6201\" d=\"M10.428-56.09,25.912-27.966,41.554-56.09h9.717L30.336-20.066V0H21.488V-20.224L.711-56.09ZM67.071-39.5V0H58.223V-56.09h6.952L97.249-15.642V-56.011h8.927V0H98.829Z\" transform=\"translate(165 2404.948)\" fill=\"#6f89e3\"><\/path><g id=\"Group_1189\" data-name=\"Group 1189\" transform=\"translate(309.713 2331.881)\"><path id=\"Subtraction_18\" data-name=\"Subtraction 18\" d=\"M-1419.377-2526.548h-18.009a3.46,3.46,0,0,1-3.457-3.456v-18.01a3.461,3.461,0,0,1,3.457-3.457h18.009a3.461,3.461,0,0,1,3.457,3.457V-2530A3.46,3.46,0,0,1-1419.377-2526.548Zm-14.26-21.734a4.022,4.022,0,0,0-4.018,4.018v10.51a4.022,4.022,0,0,0,4.018,4.018h10.51a4.022,4.022,0,0,0,4.018-4.018v-10.51a4.022,4.022,0,0,0-4.018-4.018Zm10.51,16.545h-10.51a2.019,2.019,0,0,1-2.017-2.017v-10.51a2.019,2.019,0,0,1,2.017-2.017h10.51a2.019,2.019,0,0,1,2.017,2.017v10.51A2.019,2.019,0,0,1-1423.126-2531.737Z\" transform=\"translate(1447.865 2558.543)\" fill=\"#6f89e3\"><\/path><path id=\"Path_5569\" data-name=\"Path 5569\" d=\"M548.968,411.715v3.255h-2.2v-3.255a1.1,1.1,0,0,1,2.2,0Z\" transform=\"translate(-533.492 -408.647)\" fill=\"#6f89e3\"><\/path><path id=\"Path_5570\" data-name=\"Path 5570\" d=\"M561.336,411.715v3.255h-2.2v-3.255a1.1,1.1,0,0,1,2.2,0Z\" transform=\"translate(-535.653 -408.647)\" fill=\"#6f89e3\"><\/path><path id=\"Path_5571\" data-name=\"Path 5571\" d=\"M555.152,409.331v5.222h-2.2v-5.222a1.1,1.1,0,1,1,2.2,0Z\" transform=\"translate(-534.572 -408.23)\" fill=\"#6f89e3\"><\/path><path id=\"Path_5572\" data-name=\"Path 5572\" d=\"M548.968,447.912v3.419a1.1,1.1,0,1,1-2.2,0v-3.419Z\" transform=\"translate(-533.492 -415.166)\" fill=\"#6f89e3\"><\/path><path id=\"Path_5573\" data-name=\"Path 5573\" d=\"M561.336,447.912v3.419a1.1,1.1,0,1,1-2.2,0v-3.419Z\" transform=\"translate(-535.653 -415.166)\" fill=\"#6f89e3\"><\/path><path id=\"Path_5574\" data-name=\"Path 5574\" d=\"M555.152,447.912v5.2a1.1,1.1,0,1,1-2.2,0v-5.2Z\" transform=\"translate(-534.572 -415.166)\" fill=\"#6f89e3\"><\/path><path id=\"Path_5575\" data-name=\"Path 5575\" d=\"M574.687,425.529a1.1,1.1,0,0,1-1.1,1.1H570.3v-2.2h3.286A1.1,1.1,0,0,1,574.687,425.529Z\" transform=\"translate(-537.605 -411.061)\" fill=\"#6f89e3\"><\/path><path id=\"Path_5576\" data-name=\"Path 5576\" d=\"M574.687,437.9a1.1,1.1,0,0,1-1.1,1.1H570.3v-2.2h3.286A1.1,1.1,0,0,1,574.687,437.9Z\" transform=\"translate(-537.605 -413.223)\" fill=\"#6f89e3\"><\/path><path id=\"Path_5577\" data-name=\"Path 5577\" d=\"M576.654,431.713a1.1,1.1,0,0,1-1.1,1.1H570.3v-2.2h5.253A1.1,1.1,0,0,1,576.654,431.713Z\" transform=\"translate(-537.605 -412.142)\" fill=\"#6f89e3\"><\/path><path id=\"Path_5578\" data-name=\"Path 5578\" d=\"M533.942,424.428h3.388v2.2h-3.388a1.1,1.1,0,0,1,0-2.2Z\" transform=\"translate(-531.058 -411.061)\" fill=\"#6f89e3\"><\/path><path id=\"Path_5579\" data-name=\"Path 5579\" d=\"M533.942,436.8h3.388V439h-3.388a1.1,1.1,0,1,1,0-2.2Z\" transform=\"translate(-531.058 -413.223)\" fill=\"#6f89e3\"><\/path><path id=\"Path_5580\" data-name=\"Path 5580\" d=\"M536.952,430.612v2.2h-5.171a1.1,1.1,0,1,1,0-2.2Z\" transform=\"translate(-530.68 -412.142)\" fill=\"#6f89e3\"><\/path><\/g><\/g><\/svg>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t<div class=\"elementor-cta__title elementor-cta__content-item elementor-content-item\">Up-to-date SMB3 client & server libraries for any OS<\/div>\n\t\t\t\t\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-inner-column elementor-element elementor-element-44393fb\" data-id=\"44393fb\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-f886b1b elementor-cta--skin-cover vyn-cta-slide vyn-cta-slide-static elementor-cta--valign-top elementor-widget elementor-widget-call-to-action\" data-id=\"f886b1b\" data-element_type=\"widget\" data-widget_type=\"call-to-action.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<a class=\"elementor-cta\" href=\"https:\/\/visualitynq.com\/products\/jnq\/\">\n\t\t\t\t\t<div class=\"elementor-cta__bg-wrapper\">\n\t\t\t\t<div class=\"elementor-cta__bg elementor-bg\" style=\"background-image: url(https:\/\/visualitynq.com\/app\/uploads\/sites\/4\/jnq-cta-01.svg);\"><\/div>\n\t\t\t\t<div class=\"elementor-cta__bg-overlay\"><\/div>\n\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-cta__content\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-content-item elementor-cta__content-item elementor-icon-wrapper elementor-cta__icon elementor-view-default\">\n\t\t\t\t\t\t<div class=\"elementor-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"157.895\" height=\"72.536\" viewBox=\"0 0 157.895 72.536\"><g id=\"Group_1261\" data-name=\"Group 1261\" transform=\"translate(-165.79 -2521.171)\"><path id=\"Subtraction_16\" data-name=\"Subtraction 16\" d=\"M27.376,55.741a24.859,24.859,0,0,1-11.151-2.5,28.751,28.751,0,0,1-8.656-6.522,29.112,29.112,0,0,1-5.6-9.259A30.266,30.266,0,0,1,0,26.754,29.344,29.344,0,0,1,2.093,15.8,30.534,30.534,0,0,1,7.85,6.545a27.609,27.609,0,0,1,8.7-6.4L16.856,0a8.222,8.222,0,0,0-.7,1.584,8.209,8.209,0,0,0,.464,5.9l.015.033.015.032a14.2,14.2,0,0,0,.855,1.553,18.077,18.077,0,0,0-3.5,3.358,21.743,21.743,0,0,0-3.583,6.682,24.062,24.062,0,0,0,.04,15.42,21.3,21.3,0,0,0,3.664,6.682,17.977,17.977,0,0,0,5.757,4.63,16.428,16.428,0,0,0,7.569,1.732,16.849,16.849,0,0,0,4.992-.725,16.509,16.509,0,0,0,4.267-2.013L28.584,35.45h8.7L41.385,40.2a20.3,20.3,0,0,0,3.141-6.32,24.9,24.9,0,0,0,1.047-7.126,24.052,24.052,0,0,0-1.289-7.85,21.406,21.406,0,0,0-3.664-6.643A18.085,18.085,0,0,0,36.094,8.3c-.317-.426-.617-.809-.857-1.117-.215-.275-.384-.49-.491-.642l-.014-.019a1.261,1.261,0,0,1-.191-1.805,23.575,23.575,0,0,1,3.415-2.357l.014-.009c.747-.458,1.453-.89,2.075-1.324A27.958,27.958,0,0,1,47.3,6.947a30.634,30.634,0,0,1,5.556,9.3,29.748,29.748,0,0,1,1.972,10.588,29.428,29.428,0,0,1-2.013,10.829A30.064,30.064,0,0,1,47.183,46.8l7.489,8.534h-8.7l-3.7-4.187a27.586,27.586,0,0,1-6.965,3.382A25.815,25.815,0,0,1,27.376,55.741Z\" transform=\"translate(268.853 2537.483)\" fill=\"#29dd67\"><\/path><path id=\"Path_6202\" data-name=\"Path 6202\" d=\"M2.964-8.987A16.627,16.627,0,0,0,7.03-7.095a18.928,18.928,0,0,0,6.16.926A11.439,11.439,0,0,0,19.108-7.5a8.465,8.465,0,0,0,3.382-3.945,20.816,20.816,0,0,0,1.53-6.522q.362-3.905.362-9.058V-56.09h9.1v29.067a99.987,99.987,0,0,1-.644,11.876A24.9,24.9,0,0,1,30.1-6.008,14.389,14.389,0,0,1,23.979-.13Q19.953,1.963,13.19,1.963A21.35,21.35,0,0,1,.79-1.58ZM54.737-39.181V1.078H45.719V-56.09H52.8l32.69,41.225V-56.009h9.1V1.078H87.1Z\" transform=\"translate(165 2591.743)\" fill=\"#29dd67\"><\/path><path id=\"Path_6198\" data-name=\"Path 6198\" d=\"M9.8,32.382A3.66,3.66,0,0,0,11.145,29.7a3.133,3.133,0,0,0-.96-1.968l-.014-.016a10.416,10.416,0,0,1-1.619-2.55A6.086,6.086,0,0,1,8.034,22.1,5.983,5.983,0,0,1,9.2,19.215a10.124,10.124,0,0,1,2.148-2.12l0,0a22.767,22.767,0,0,1,8.412-3.874l2.009-.4L20.255,14.2A20.17,20.17,0,0,1,17.51,16.06a25.282,25.282,0,0,0-3.945,2.763,5.528,5.528,0,0,0-1.506,2.137l0,0a2.44,2.44,0,0,0,.129,1.712,10.986,10.986,0,0,0,1.2,1.939c.269.377.547.767.8,1.176a3.958,3.958,0,0,1,.268,3.587l0,.006a8.474,8.474,0,0,1-3.437,3.593l-.019.012c-.008.006-.026.022-.039.035a1.18,1.18,0,0,1-.682.34l-1.884.3Zm-3-2.62c-1.331-1.175-2.394-2.192-3.345-3.2A15.766,15.766,0,0,1,.546,22.545l0-.006a5.169,5.169,0,0,1-.339-3.7,8.116,8.116,0,0,1,2.064-3.041l.009-.009a38.081,38.081,0,0,1,3.47-2.956,34.275,34.275,0,0,0,3.59-3.093,8.4,8.4,0,0,0,2.37-4.109l0-.013A8.212,8.212,0,0,0,11.6,2.107L11.16,0l1.421,1.616a5.845,5.845,0,0,1,1.274,2.524,6.712,6.712,0,0,1,.049,2.8,11.33,11.33,0,0,1-2.754,5.25,24.549,24.549,0,0,1-3.371,3.2A13.3,13.3,0,0,0,4.33,19.076l0,.008A4.483,4.483,0,0,0,3.966,22.8l0,.008a13.1,13.1,0,0,0,1.919,3.224A11.345,11.345,0,0,1,7.722,29.17l.584,1.918Z\" transform=\"translate(287.716 2521.171)\" fill=\"#29dd67\"><\/path><path id=\"Path_6199\" data-name=\"Path 6199\" d=\"M1203.76,649.06a18.223,18.223,0,0,1,7.392-1.6,29.211,29.211,0,0,0-4.384,1.453,2.009,2.009,0,0,0-.9.683c-.1.265.177.442.379.531a9.474,9.474,0,0,0,2.729.493,75.292,75.292,0,0,0,9.706-.114c3.184-.2,6.343-.632,9.49-1.137a17.467,17.467,0,0,0-2.047,1.074,3.169,3.169,0,0,1-1.1.379A58.513,58.513,0,0,1,1213.25,652c-1.529.013-3.045-.013-4.562-.114a26.312,26.312,0,0,1-5.054-.683,3.368,3.368,0,0,1-1.364-.632.441.441,0,0,1-.026-.631,5.088,5.088,0,0,1,1.516-.885Z\" transform=\"translate(-918.685 1908.217)\" fill=\"#29dd67\"><\/path><\/g><\/svg>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t<div class=\"elementor-cta__title elementor-cta__content-item elementor-content-item\">Pure Java SMB3.1.1 <br>client library<\/div>\n\t\t\t\t\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-inner-column elementor-element elementor-element-6493f1f\" data-id=\"6493f1f\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-87c4e79 elementor-cta--skin-cover vyn-cta-slide vyn-cta-slide-static elementor-cta--valign-top elementor-widget elementor-widget-call-to-action\" data-id=\"87c4e79\" data-element_type=\"widget\" data-widget_type=\"call-to-action.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<a class=\"elementor-cta\" href=\"https:\/\/visualitynq.com\/products\/nq-storage\/\">\n\t\t\t\t\t<div class=\"elementor-cta__bg-wrapper\">\n\t\t\t\t<div class=\"elementor-cta__bg elementor-bg\" style=\"background-image: url(https:\/\/visualitynq.com\/app\/uploads\/sites\/4\/nq-storage-cta-01.svg);\"><\/div>\n\t\t\t\t<div class=\"elementor-cta__bg-overlay\"><\/div>\n\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-cta__content\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-content-item elementor-cta__content-item elementor-icon-wrapper elementor-cta__icon elementor-view-default\">\n\t\t\t\t\t\t<div class=\"elementor-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"297.598\" height=\"78.199\" viewBox=\"0 0 297.598 78.199\"><g id=\"Group_1194\" data-name=\"Group 1194\" transform=\"translate(-29.32 -2687.539)\"><path id=\"Path_6203\" data-name=\"Path 6203\" d=\"M15.168-39.5V0H6.32V-56.09h6.952L45.346-15.642V-56.011h8.927V0H46.926Z\" transform=\"translate(23 2755.27)\" fill=\"#ff5408\"><\/path><path id=\"Subtraction_15\" data-name=\"Subtraction 15\" d=\"M-1246.27-150.925a24.391,24.391,0,0,1-10.941-2.449,28.22,28.22,0,0,1-8.492-6.4,28.556,28.556,0,0,1-5.491-9.085,29.716,29.716,0,0,1-1.935-10.508,28.783,28.783,0,0,1,2.054-10.743,29.982,29.982,0,0,1,5.648-9.085,27.109,27.109,0,0,1,8.532-6.28,25.032,25.032,0,0,1,10.665-2.331v7.979a15.863,15.863,0,0,0-7.545,1.777,17.925,17.925,0,0,0-5.609,4.661,21.332,21.332,0,0,0-3.515,6.557,23.583,23.583,0,0,0-1.225,7.465,23.733,23.733,0,0,0,1.264,7.663,20.9,20.9,0,0,0,3.595,6.556,17.64,17.64,0,0,0,5.648,4.543,16.134,16.134,0,0,0,7.426,1.7,16.505,16.505,0,0,0,4.9-.711,16.164,16.164,0,0,0,4.187-1.975l-7.979-9.243h8.532l4.029,4.661a19.931,19.931,0,0,0,3.081-6.2,24.4,24.4,0,0,0,1.027-6.992,24.334,24.334,0,0,0-.365-4.225h9.124a28.706,28.706,0,0,1,.325,4.3,28.873,28.873,0,0,1-1.975,10.625,29.514,29.514,0,0,1-5.53,8.967l7.347,8.374h-8.532l-3.634-4.109a27.063,27.063,0,0,1-6.834,3.318A25.3,25.3,0,0,1-1246.27-150.925Z\" transform=\"translate(1359.487 2906.59)\" fill=\"#ff5408\"><\/path><g id=\"Group_1187\" data-name=\"Group 1187\" transform=\"translate(-853.107 2042.279)\"><rect id=\"Rectangle_219\" data-name=\"Rectangle 219\" width=\"31.107\" height=\"7.47\" rx=\"1.474\" transform=\"translate(970.107 649.913)\" fill=\"#ff5408\"><\/rect><rect id=\"Rectangle_220\" data-name=\"Rectangle 220\" width=\"31.107\" height=\"7.47\" rx=\"1.474\" transform=\"translate(970.107 659.12)\" fill=\"#ff5408\"><\/rect><rect id=\"Rectangle_221\" data-name=\"Rectangle 221\" width=\"31.107\" height=\"7.47\" rx=\"1.474\" transform=\"translate(970.107 668.326)\" fill=\"#ff5408\"><\/rect><path id=\"Path_2546\" data-name=\"Path 2546\" d=\"M975.572,645.26l-3.7,3.719h27.652l-3.719-3.719\" transform=\"translate(-0.052)\" fill=\"#ff5408\"><\/path><\/g><path id=\"Path_6204\" data-name=\"Path 6204\" d=\"M23.5-25.521a7.219,7.219,0,0,0-1.363-1.1,13.636,13.636,0,0,0-2.091-1.1,15.249,15.249,0,0,0-2.632-.846,13.09,13.09,0,0,0-2.937-.329,8,8,0,0,0-4.911,1.222A4.044,4.044,0,0,0,7.99-24.3a3.664,3.664,0,0,0,.494,2,4.234,4.234,0,0,0,1.527,1.363A11.972,11.972,0,0,0,12.6-19.9q1.551.446,3.619.964A41.381,41.381,0,0,1,20.8-17.578a13.043,13.043,0,0,1,3.454,1.833,7.461,7.461,0,0,1,2.186,2.656,8.606,8.606,0,0,1,.775,3.83,9.278,9.278,0,0,1-.963,4.371A8.205,8.205,0,0,1,23.618-1.9,11.617,11.617,0,0,1,19.74-.211a19.931,19.931,0,0,1-4.747.54A23.681,23.681,0,0,1,7.637-.822,21.086,21.086,0,0,1,1.222-4.183l2.4-4.512A11.206,11.206,0,0,0,5.382-7.332,16.414,16.414,0,0,0,8.061-5.945a23.476,23.476,0,0,0,3.313,1.081,15.253,15.253,0,0,0,3.713.447A8.9,8.9,0,0,0,19.881-5.5a3.55,3.55,0,0,0,1.692-3.2,3.426,3.426,0,0,0-.635-2.115,5.445,5.445,0,0,0-1.809-1.48,15.778,15.778,0,0,0-2.867-1.152q-1.692-.517-3.854-1.081A39.921,39.921,0,0,1,8.061-15.91a10.88,10.88,0,0,1-3.079-1.762,6.919,6.919,0,0,1-1.856-2.421,8.04,8.04,0,0,1-.635-3.361,9.693,9.693,0,0,1,.94-4.347A9.292,9.292,0,0,1,5.992-31a11.2,11.2,0,0,1,3.831-1.95,16.727,16.727,0,0,1,4.794-.658,17.58,17.58,0,0,1,6.251,1.081A20.684,20.684,0,0,1,25.9-29.845ZM45.214-1.269A25.913,25.913,0,0,1,42.488-.211a11.525,11.525,0,0,1-3.713.588,7.869,7.869,0,0,1-2.3-.329,5.642,5.642,0,0,1-1.9-.987,4.482,4.482,0,0,1-1.292-1.715,6.286,6.286,0,0,1-.47-2.562V-20.586H29.563v-3.995h3.243v-8.084h5.17v8.084h5.358v3.995H37.976V-6.862a2.553,2.553,0,0,0,.823,1.9,2.79,2.79,0,0,0,1.81.587,5.76,5.76,0,0,0,2.068-.376q.987-.376,1.457-.611ZM59.22.47A12.771,12.771,0,0,1,53.979-.564a12.235,12.235,0,0,1-3.971-2.773A12.219,12.219,0,0,1,47.47-7.4a13.459,13.459,0,0,1-.893-4.865,13.459,13.459,0,0,1,.893-4.865A12.031,12.031,0,0,1,50.032-21.2a12.507,12.507,0,0,1,4-2.773A12.651,12.651,0,0,1,59.22-25a12.651,12.651,0,0,1,5.193,1.034,12.507,12.507,0,0,1,4,2.773,12.031,12.031,0,0,1,2.562,4.066,13.459,13.459,0,0,1,.893,4.865A13.459,13.459,0,0,1,70.97-7.4a12.031,12.031,0,0,1-2.562,4.066,12.507,12.507,0,0,1-4,2.773A12.651,12.651,0,0,1,59.22.47ZM51.888-12.22a9.3,9.3,0,0,0,.564,3.29A8.178,8.178,0,0,0,54-6.321,7.254,7.254,0,0,0,56.33-4.582a6.666,6.666,0,0,0,2.89.635,6.666,6.666,0,0,0,2.891-.635,7.1,7.1,0,0,0,2.326-1.763,8.47,8.47,0,0,0,1.551-2.632,9.3,9.3,0,0,0,.564-3.29,9.356,9.356,0,0,0-.564-3.267,8.411,8.411,0,0,0-1.551-2.655,7.1,7.1,0,0,0-2.326-1.763,6.666,6.666,0,0,0-2.891-.635,6.365,6.365,0,0,0-2.843.658,7.4,7.4,0,0,0-2.326,1.786,8.77,8.77,0,0,0-1.575,2.656A9.021,9.021,0,0,0,51.888-12.22Zm38.4-7.9a11.564,11.564,0,0,0-5.334,1.386,7.305,7.305,0,0,0-3.313,3.689V0h-5.17V-24.581h4.794v5.5a11.242,11.242,0,0,1,3.313-4.066,8.037,8.037,0,0,1,4.394-1.668h.776a2.777,2.777,0,0,1,.54.047ZM100.251.47a9.153,9.153,0,0,1-3.313-.587,8.009,8.009,0,0,1-2.632-1.622,7.561,7.561,0,0,1-1.739-2.444,7.358,7.358,0,0,1-.634-3.055,6.585,6.585,0,0,1,.752-3.149,7.36,7.36,0,0,1,2.138-2.444,10.38,10.38,0,0,1,3.29-1.6,14.77,14.77,0,0,1,4.207-.564,19.271,19.271,0,0,1,3.431.306,17.279,17.279,0,0,1,3.055.823v-1.692a5.7,5.7,0,0,0-1.551-4.253,6.1,6.1,0,0,0-4.465-1.528,10.767,10.767,0,0,0-3.878.729,19.616,19.616,0,0,0-3.924,2.091l-1.6-3.29a17.429,17.429,0,0,1,9.87-3.2q5.076,0,7.9,2.585t2.82,7.426V-6.11q0,1.645,1.363,1.692V0q-.752.141-1.293.188t-1.057.047a3.325,3.325,0,0,1-2.326-.752,3.215,3.215,0,0,1-1.01-1.927L109.51-4a10.961,10.961,0,0,1-4.065,3.314A11.935,11.935,0,0,1,100.251.47Zm1.41-3.807a9.293,9.293,0,0,0,3.549-.682,6.118,6.118,0,0,0,2.608-1.9,2.384,2.384,0,0,0,.987-1.786v-3.243a15.628,15.628,0,0,0-2.8-.8,15.431,15.431,0,0,0-2.891-.282,7.905,7.905,0,0,0-4.535,1.2A3.673,3.673,0,0,0,96.82-7.661a4,4,0,0,0,1.363,3.079A4.956,4.956,0,0,0,101.661-3.337ZM129.955.235A10.244,10.244,0,0,1,125.4-.775a10.885,10.885,0,0,1-3.549-2.75,12.938,12.938,0,0,1-2.3-3.995,13.75,13.75,0,0,1-.823-4.747,14.4,14.4,0,0,1,.846-4.958,12.582,12.582,0,0,1,2.35-4.042,11.218,11.218,0,0,1,3.6-2.726,10.5,10.5,0,0,1,4.63-1.01,9.518,9.518,0,0,1,5.193,1.41,11.938,11.938,0,0,1,3.689,3.666v-4.653h4.559V-.7a10.9,10.9,0,0,1-.987,4.747,10.017,10.017,0,0,1-2.749,3.5,12.391,12.391,0,0,1-4.16,2.185,17.184,17.184,0,0,1-5.17.752,14.8,14.8,0,0,1-6.791-1.387,12.851,12.851,0,0,1-4.535-3.877l2.914-2.726A9.093,9.093,0,0,0,125.749,5.5a11.213,11.213,0,0,0,4.77,1.034,10.658,10.658,0,0,0,3.032-.423,7.016,7.016,0,0,0,2.514-1.316,6.354,6.354,0,0,0,1.715-2.256A7.628,7.628,0,0,0,138.415-.7v-3.76A8.991,8.991,0,0,1,134.8-.987,10.188,10.188,0,0,1,129.955.235Zm1.692-4.183a6.456,6.456,0,0,0,2.256-.4,7.945,7.945,0,0,0,2-1.081,7.783,7.783,0,0,0,1.575-1.551,5.62,5.62,0,0,0,.94-1.856v-6.439a8.715,8.715,0,0,0-1.222-2.139,8.646,8.646,0,0,0-1.715-1.668,8.357,8.357,0,0,0-2.045-1.1,6.2,6.2,0,0,0-2.162-.4,6.241,6.241,0,0,0-3.031.729,7.3,7.3,0,0,0-2.28,1.927,9.175,9.175,0,0,0-1.457,2.7,9.477,9.477,0,0,0-.517,3.1,8.522,8.522,0,0,0,.588,3.172,8.125,8.125,0,0,0,1.621,2.585,7.957,7.957,0,0,0,2.42,1.762A6.98,6.98,0,0,0,131.647-3.948ZM160.928.47a13.074,13.074,0,0,1-5.217-1.01,12.142,12.142,0,0,1-4.019-2.749,12.4,12.4,0,0,1-2.585-4.042,13.1,13.1,0,0,1-.917-4.888,13.278,13.278,0,0,1,.917-4.912,12.6,12.6,0,0,1,2.585-4.089,11.971,11.971,0,0,1,4.019-2.773A13.2,13.2,0,0,1,160.975-25a12.651,12.651,0,0,1,5.194,1.034,12.418,12.418,0,0,1,3.971,2.75,11.764,11.764,0,0,1,2.514,3.995,13.272,13.272,0,0,1,.87,4.771q0,.564-.047,1.057t-.094.823H153.69a8.416,8.416,0,0,0,.775,2.961,7.792,7.792,0,0,0,1.645,2.28,7.163,7.163,0,0,0,2.3,1.48,7.21,7.21,0,0,0,2.7.517A8.218,8.218,0,0,0,163.16-3.6a7.209,7.209,0,0,0,1.857-.752,6.58,6.58,0,0,0,1.5-1.2A5.591,5.591,0,0,0,167.555-7.1l4.418,1.269a10.244,10.244,0,0,1-4.206,4.536A13.034,13.034,0,0,1,160.928.47ZM168.4-14.147a8.267,8.267,0,0,0-.776-2.867A7.382,7.382,0,0,0,166-19.247a7.235,7.235,0,0,0-2.3-1.434,7.515,7.515,0,0,0-2.773-.517,7.334,7.334,0,0,0-2.749.517,7.3,7.3,0,0,0-2.279,1.434,7.066,7.066,0,0,0-1.6,2.233,8.6,8.6,0,0,0-.752,2.867Z\" transform=\"translate(153.394 2755.257)\" fill=\"#fe541d\"><\/path><\/g><\/svg>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t<div class=\"elementor-cta__title elementor-cta__content-item elementor-content-item\">Robust SMB3 Server Implementation<\/div>\n\t\t\t\t\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8a89da3 elementor-widget elementor-widget-heading\" data-id=\"8a89da3\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">The Backstory<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-94b5eda elementor-widget elementor-widget-text-editor\" data-id=\"94b5eda\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>It seemed like a crazy idea at the time, but everything we were doing back then seemed a little crazy.<\/p><p>There were more than a dozen of us, scattered around the world, stealing time between work, studies, and family to analyze network traces and write code.\u00a0 A lot of code.\u00a0 We were building\u00a0<a href=\"https:\/\/www.samba.org\/\">Samba<\/a>, the Open Source SMB Server suite, and we were doing it in the dark.\u00a0 The only available documentation was years out of date, and it would be several more years before updated specifications would be written and released<a href=\"#further-reading\"><sup>2<\/sup><\/a>.\u00a0 We had to figure it all out for ourselves, with limited resources and the looming threat of reprisal.\u00a0 We were, in those days, the rebel scum<a href=\"#further-reading\"><sup>3<\/sup><\/a>\u00a0taking on the evil empire.<\/p><p>\u2026and in the midst of all that, I came up with this crazy idea: Let\u2019s do it all over again in Java!<\/p><p>Yeah\u2026how hard could that be?<\/p><p>We\u2019re talking about the final flailing years of the 20th Century.\u00a0 Java was still a bright shiny new thing, and it was being promoted like diet soda.\u00a0 It could be embedded in web pages, run on desktops and servers, and there were a handful of companies producing tiny single board Java devices for tinkering.\u00a0 It seemed like a perfect platform for an SMB engine.<\/p><p id=\"sup4\">So I set up a project web page, bought my first Java book, and started writing and publishing code.\u00a0 I gave the project the name\u00a0<strong>jCIFS\u00a0<\/strong>because, back then (following an attempt at rebranding) the SMB protocol was being called\u00a0<strong>CIFS<\/strong>\u2014I\u2019ll explain that episode a little later on.<\/p><p>It took a while, but jCIFS began to attract a few curious onlookers, then a small following, and eventually some contributors.\u00a0 There was one in particular who started off by criticizing the quality of my newbie Java code.\u00a0 He was (annoyingly) quite right, of course, so he took over as project lead (which was plenty fine by me), and my role shifted to providing SMB know-how and being a conduit to the accumulated wisdom of the Samba Team.\u00a0 The crazy idea had taken off and was flying.<\/p><p>That\u2019s probably when I started writing protocol docs.\u00a0 People would ask questions about SMB behavior, and my answers grew from e\u2019mail messages to blog posts to magazine articles.\u00a0 I was invited to help write the SNIA<a href=\"#further-reading\"><sup>4<\/sup><\/a>\u00a0SMB Technical Reference, and eventually produced a\u00a0<a href=\"http:\/\/www.ubiqx.org\/cifs\/\">book about SMB\/CIFS internals<\/a>.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-57477e0 elementor-widget elementor-widget-heading\" data-id=\"57477e0\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">On the Trail with jCIFS<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9b092f7 elementor-widget elementor-widget-text-editor\" data-id=\"9b092f7\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>We had no clear idea, when we set out, exactly where we were going.\u00a0 We didn\u2019t know how jCIFS might be used, or why, or by whom.\u00a0 Building it just seemed like the right thing to do, so we did it.\u00a0 Before too long we had hammered jCIFS into fairly decent shape, and we started getting feedback from people who were using it on supercomputers, in media players, and other odd places.\u00a0 There were even a few embedded systems developers tinkering with it.\u00a0 jCIFS quickly became the go-to toolkit for playing with SMB.\u00a0 On our mailing list, we had an endless supply of questions about service discovery, share enumeration, and access controls.\u00a0 We were feeling pretty good about our little project.\u00a0\u00a0<\/p><p>Every year, there are a handful of conferences and testing workshops organized for the SMB community.\u00a0 The jCIFS collaboration, unfortunately, was both unfunded and geographically scattered.\u00a0 Since Samba was better known it had better outside support and, since I was on both teams, it fell to me to represent jCIFS at events.\u00a0 These events provided an opportunity to test against a wide variety of implementations, both open source and commercial, and also let me introduce jCIFS to a wider audience.<\/p><p>\u2026and maybe that\u2019s how jCIFS wound up on the radar of Android app developers, or perhaps they just stumbled across it on the web.\u00a0 Whatever.\u00a0 The point is that Android developers discovered that they needed jCIFS, and jCIFS was there for Android.<\/p><p>The relationship wasn\u2019t exactly publicized.\u00a0 The first I knew about it was when I loaded a file browser app on my \u2018phone and, out of curiosity and old habit, watched the packet capture as the app connected to my Samba server.\u00a0 The connection request had a tell-tale marker\u2014jCIFS actually tells you that it\u2019s jCIFS.\u00a0 With a little research, I found that there were several apps out there all using jCIFS as their SMB engine.<\/p><p>The Android\/jCIFS relationship is still strong today, though there is a bit of strain.\u00a0 jCIFS implements SMB\/CIFS (now known as SMB1), which has been supplanted by SMB2 and SMB3.\u00a0 The original SMB\/CIFS protocol, which dates back to the early 1980\u2019s, has been deprecated.\u00a0 Newer versions of Windows disable it by default.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-23f94a2 elementor-widget elementor-widget-heading\" data-id=\"23f94a2\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">SMB Rides the Bumpy Road<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6f71a35 elementor-widget elementor-widget-text-editor\" data-id=\"6f71a35\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>I promised I would explain about the \u201cCIFS\u201d name.<\/p><p>The full story is kinda complex, but I\u2019ll try to keep it simple.<\/p><p>SMB was originally named BAF, the initials of the developer who created it for IBM back in the early 80\u2019s, but IBM decided that \u201cServer Message Block\u201d somehow sounded better.\u00a0 It was created for PC-DOS and MS-DOS, later ported to OS\/2, and finally found its way into WindowsNT and the Windows9x series.<\/p><p>In the mid-1990\u2019s, Microsoft decided to change the protocol\u2019s name to Common Internet File System, CIFS.\u00a0 The key thing about the new name was that it included the word \u201cInternet\u201d, which was critical for marketing in the mid-1990\u2019s.\u00a0 It was, however, exactly the same protocol.<\/p><p>It was expected, reasonably, that along with the new name Microsoft would provide an updated dialect, adding new capabilities, but that didn\u2019t happen.\u00a0 Not right away, at least.\u00a0 Instead, Microsoft spent the next several years embroiled in a pair of high-profile antitrust lawsuits brought by major world governments.\u00a0 Oddly, during that time, the CIFS name somehow got turned around.\u00a0 Instead of referring to a new protocol version with added features and functionality, it wound up meaning SMB as it had been in Windows NT4 and earlier.<\/p><p>The protocol upgrade that had been expected with Windows2000 did, eventually, arrive.\u00a0 It was hidden as a surprise inside WindowsVista, and it was not called CIFS.\u00a0 It was, instead, called SMB2 and it was much cleaner and faster than its predecessor.\u00a0 A few years later we got SMB3 which added all sorts of speed, reliability, and scaling features.\u00a0 SMB3, however, was not another full protocol overhaul.\u00a0 SMB2 and SMB3 are the same protocol, but SMB3 has more features<a href=\"#further-reading\"><sup>5<\/sup><\/a>.\u00a0 Old SMB\/CIFS is now referred to as SMB1 and, as mentioned earlier, Microsoft officially deprecated the original SMB1 protocol a few years back.<\/p><p>Back when jCIFS was created, writing an SMB\/CIFS stack was like building an automotive transmission from parts, some of which were missing and, before the official protocol specifications were released, the work was essentially being done in the dark with only a flashlight and some loose matches to see by.<\/p><p id=\"sup6\">Then things changed.\u00a0 SMB2, SMB3, and a pile of new documentation were all released by Microsoft, greatly simplifying the job of creating a compatible implementation.\u00a0 By that time, however, jCIFS was already fairly well established and developer focus had shifted to new projects and priorities.\u00a0 jCIFS did not take up the challenge of supporting SMB2 and SMB3.\u00a0 It fell to others to pick up the slack.\u00a0 The jCIFS website is still available, as is the code, but there have been few (if any) updates for a couple of years now.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d4baa6b elementor-widget elementor-widget-heading\" data-id=\"d4baa6b\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">A New Hope<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0ba4ede elementor-widget elementor-widget-text-editor\" data-id=\"0ba4ede\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>A little bit of web searching shows that the jCIFS code lives on at the heart of newer projects, particularly one called jCIFS-NG<a href=\"#further-reading\"><sup>6<\/sup><\/a>\u00a0that is busy filling in the missing SMB2\/SMB3 gaps.\u00a0 jCIFS also inspired the jNQ product from Visuality<a href=\"#further-reading\"><sup>7<\/sup><\/a>.<\/p><p>Also in the Open Source arena, Samba is still the gold standard more than twenty years since I first joined the project.\u00a0 People don\u2019t talk about Samba that much anymore.\u00a0 Other projects have taken the spotlight, but that doesn\u2019t mean that there isn\u2019t a lot still going on.\u00a0 The same slightly crazed and tangential thinking that led me to start the jCIFS project has also led to a much more recent project called\u00a0<a href=\"https:\/\/gitlab.com\/ubiqx\/zambezi\">Zambezi<\/a>.\u00a0 It got its name because it needed a name and Zambezi was the first slightly crazed and tangential name that came to mind.\u00a0 Zambezi is written in C, rather than Java, and it is aimed at empowering SmartNICs and general-purpose Data Processing Units (DPUs).<\/p><p>SmartNICs are high-end network cards that have on-board processors (network computers on a card).\u00a0 The SmartNICs can do a lot of the up-front protocol work that, historically, the computer itself had to do.\u00a0 Moving SMB protocol stuff to the SmartNIC frees up resources so that everything moves faster.\u00a0 SmartNICs can also offload things like encryption, compression, error handling, and support for multiple transports (TCP, RDMA, and QUIC).<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-94a0caa elementor-widget elementor-widget-heading\" data-id=\"94a0caa\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">The Road Ahead<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c4247b7 elementor-widget elementor-widget-text-editor\" data-id=\"c4247b7\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>That Mickelson Trail ride was a challenge, and I like a good challenge.\u00a0 It\u2019s my kind of fun.<\/p><p>Implementing SMB is also a worthy challenge, but it can be quite a challenge.\u00a0 I know some experienced SMB developers who have managed to pull a team together and get the job done in just a couple of years<a href=\"#further-reading\"><sup>8<\/sup><\/a>.\u00a0 I have also heard many sad stories of failed or aborted attempts. SMB is tricky.\u00a0 You need to know what you\u2019re up against before you set out on this journey.\u00a0 I recommend finding a guide.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8840e71 elementor-widget elementor-widget-heading\" data-id=\"8840e71\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Further Reading<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-section elementor-inner-section elementor-element elementor-element-b66518d elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"b66518d\" data-element_type=\"section\" id=\"further-reading\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-2e92b84\" data-id=\"2e92b84\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e49fc00 elementor-widget elementor-widget-text-editor\" data-id=\"e49fc00\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Here are some links to help you further enjoy SMB.<\/p><ul><li aria-level=\"1\"><a href=\"http:\/\/www.ubiqx.org\/cifs\/\">Implementing CIFS<\/a>\u00a0\u2013 The Common Internet Filesystem An online book about SMB\/CIFS and associated protocols.<\/li><\/ul><ul><li aria-level=\"1\"><a href=\"https:\/\/www.jcifs.org\/\">jCIFS<\/a>\u00a0\u2013 The jCIFS project website.<\/li><\/ul><ul><li aria-level=\"1\"><a href=\"https:\/\/github.com\/AgNO3\/jcifs-ng\">jCIFS-NG<\/a>\u00a0\u2013 The jCIFS codebase has been picked up by a new project and is still under active development.<\/li><\/ul><ul><li id=\"supscrolling\" aria-level=\"1\"><a href=\"https:\/\/docs.microsoft.com\/en-us\/archive\/blogs\/josebda\/the-deprecation-of-smb1-you-should-be-planning-to-get-rid-of-this-old-smb-dialect\">The Deprecation of SMB1<\/a>\u00a0\u2013 \u201cYou should be planning to get rid of this old SMB dialect.\u201d A\u00a0<a href=\"https:\/\/docs.microsoft.com\/en-us\/archive\/blogs\/josebda\/the-deprecation-of-smb1-you-should-be-planning-to-get-rid-of-this-old-smb-dialect\">Blog Post<\/a>\u00a0by Jose Barreto, Microsoft, 2015<\/li><\/ul><ul><li aria-level=\"1\">The\u00a0<a href=\"https:\/\/gitlab.com\/ubiqx\/zambezi\">Zambezi<\/a>\u00a0\u2013 SMB3\/SmarktNIC Project As is usual for me, the comments outweigh the code.<\/li><\/ul><p><a href=\"https:\/\/visualitynq.com\/resources\/articles\/a-java-infusion#sup1\">1<\/a>\u00a0You may have heard of Deadwood.\u00a0 It was the titular setting of a TV mini-series, and played a role in various bits of US history.<\/p><p><a href=\"https:\/\/visualitynq.com\/resources\/articles\/a-java-infusion#sup2\">2<\/a>\u00a0I should know, I was handed the job of writing them.<\/p><p><a href=\"https:\/\/visualitynq.com\/resources\/articles\/a-java-infusion#sup2\">3<\/a>\u00a0In this instance, \u201cscum\u201d stands for\u00a0<strong>S<\/strong>uper\u00a0<strong>C<\/strong>oding\u00a0<strong>U<\/strong>ber\u00a0<strong>M<\/strong>onkeys.<\/p><p><a href=\"https:\/\/visualitynq.com\/resources\/articles\/a-java-infusion#sup4\">4<\/a>\u00a0Storage Networking Industry Association (SNIA)<\/p><p><a href=\"https:\/\/visualitynq.com\/resources\/articles\/a-java-infusion#sup5\">5<\/a>\u00a0Prior to its release, SMB3 was known as SMB2.2.<\/p><p><a href=\"https:\/\/visualitynq.com\/resources\/articles\/a-java-infusion#sup6\">6<\/a>\u00a0NG == New Generation?\u00a0 Next Generation?\u00a0 NeoGenesis?\u00a0 I\u2019m not sure.<\/p><p><a href=\"https:\/\/visualitynq.com\/resources\/articles\/a-java-infusion#sup6\">7<\/a>\u00a0These folks are friends of mine.\u00a0 The SMB developer community is small but vibrant.<\/p><p><a href=\"https:\/\/visualitynq.com\/resources\/articles\/a-java-infusion#sup8\">8<\/a>\u00a0For comparison, crossing Iowa by bicycle takes about a week.\u00a0 It\u2019s approximately 500mi (800km) from the Missouri River to the Mississippi.\u00a0 A lot of work, but worth the effort.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<div class=\"elementor-element elementor-element-493a18d elementor-widget elementor-widget-template\" data-id=\"493a18d\" data-element_type=\"widget\" data-widget_type=\"template.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-template\">\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Christopher R. Hertel beschreibt eine SMB-Reise durch die Java-Landschaft. Das Protokoll-Upgrade wird ebenso erw\u00e4hnt wie die SMB-Implementierung. Weitere Links zum Lesen von SMB sind beigef\u00fcgt<\/p>\n","protected":false},"author":3,"featured_media":4607,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[21,27,18,29],"class_list":["post-3197","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-articles","tag-connection-reset-by-peer","tag-linux-mount-smb","tag-mount-cifs","tag-smb-conf"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Eine Java-Infusion - Visualitynq Deutsch<\/title>\n<meta name=\"description\" content=\"Christopher R. Hertel describes an SMB journey in the Java landscape . The protocol upgrade is mentioned as well as SMB implementation. Further links to enjoy SMB reading are enclosed\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/visualitynq.com\/de\/resources\/articles\/a-java-infusion\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Eine Java-Infusion - Visualitynq Deutsch\" \/>\n<meta property=\"og:description\" content=\"Christopher R. Hertel describes an SMB journey in the Java landscape . The protocol upgrade is mentioned as well as SMB implementation. Further links to enjoy SMB reading are enclosed\" \/>\n<meta property=\"og:url\" content=\"https:\/\/visualitynq.com\/de\/resources\/articles\/a-java-infusion\/\" \/>\n<meta property=\"og:site_name\" content=\"Visualitynq Deutsch\" \/>\n<meta property=\"article:published_time\" content=\"2021-02-02T14:17:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-02-14T09:55:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/visualitynq.com\/app\/uploads\/sites\/4\/Java-Infusion-article.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"505\" \/>\n\t<meta property=\"og:image:height\" content=\"284\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/visualitynq.com\/de\/resources\/articles\/a-java-infusion\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/visualitynq.com\/de\/resources\/articles\/a-java-infusion\/\"},\"author\":{\"name\":\"\",\"@id\":\"\"},\"headline\":\"Eine Java-Infusion\",\"datePublished\":\"2021-02-02T14:17:10+00:00\",\"dateModified\":\"2023-02-14T09:55:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/visualitynq.com\/de\/resources\/articles\/a-java-infusion\/\"},\"wordCount\":1931,\"publisher\":{\"@id\":\"https:\/\/visualitynq.com\/de\/#organization\"},\"image\":{\"@id\":\"https:\/\/visualitynq.com\/de\/resources\/articles\/a-java-infusion\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/visualitynq.com\/app\/uploads\/sites\/4\/Java-Infusion-article.jpg\",\"keywords\":[\"connection reset by peer\",\"linux mount smb\",\"mount cifs\",\"smb conf\"],\"articleSection\":[\"SMB Protocol Explained\"],\"inLanguage\":\"de-DE\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/visualitynq.com\/de\/resources\/articles\/a-java-infusion\/\",\"url\":\"https:\/\/visualitynq.com\/de\/resources\/articles\/a-java-infusion\/\",\"name\":\"Eine Java-Infusion - Visualitynq Deutsch\",\"isPartOf\":{\"@id\":\"https:\/\/visualitynq.com\/de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/visualitynq.com\/de\/resources\/articles\/a-java-infusion\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/visualitynq.com\/de\/resources\/articles\/a-java-infusion\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/visualitynq.com\/app\/uploads\/sites\/4\/Java-Infusion-article.jpg\",\"datePublished\":\"2021-02-02T14:17:10+00:00\",\"dateModified\":\"2023-02-14T09:55:10+00:00\",\"description\":\"Christopher R. Hertel describes an SMB journey in the Java landscape . The protocol upgrade is mentioned as well as SMB implementation. Further links to enjoy SMB reading are enclosed\",\"breadcrumb\":{\"@id\":\"https:\/\/visualitynq.com\/de\/resources\/articles\/a-java-infusion\/#breadcrumb\"},\"inLanguage\":\"de-DE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/visualitynq.com\/de\/resources\/articles\/a-java-infusion\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de-DE\",\"@id\":\"https:\/\/visualitynq.com\/de\/resources\/articles\/a-java-infusion\/#primaryimage\",\"url\":\"https:\/\/visualitynq.com\/app\/uploads\/sites\/4\/Java-Infusion-article.jpg\",\"contentUrl\":\"https:\/\/visualitynq.com\/app\/uploads\/sites\/4\/Java-Infusion-article.jpg\",\"width\":505,\"height\":284,\"caption\":\"rsync examples\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/visualitynq.com\/de\/resources\/articles\/a-java-infusion\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/visualitynq.com\/de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SMB journey in the Java landscape\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/visualitynq.com\/de\/#website\",\"url\":\"https:\/\/visualitynq.com\/de\/\",\"name\":\"Visualitynq Deutsch\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/visualitynq.com\/de\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/visualitynq.com\/de\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de-DE\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/visualitynq.com\/de\/#organization\",\"name\":\"Visualitynq Deutsch\",\"url\":\"https:\/\/visualitynq.com\/de\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de-DE\",\"@id\":\"https:\/\/visualitynq.com\/de\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/visualitynq.com\/app\/uploads\/sites\/4\/White-Single-Line-1.png\",\"contentUrl\":\"https:\/\/visualitynq.com\/app\/uploads\/sites\/4\/White-Single-Line-1.png\",\"width\":1600,\"height\":335,\"caption\":\"Visualitynq Deutsch\"},\"image\":{\"@id\":\"https:\/\/visualitynq.com\/de\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"\",\"url\":\"https:\/\/visualitynq.com\/de\/author\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Eine Java-Infusion - Visualitynq Deutsch","description":"Christopher R. Hertel describes an SMB journey in the Java landscape . The protocol upgrade is mentioned as well as SMB implementation. Further links to enjoy SMB reading are enclosed","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/visualitynq.com\/de\/resources\/articles\/a-java-infusion\/","og_locale":"de_DE","og_type":"article","og_title":"Eine Java-Infusion - Visualitynq Deutsch","og_description":"Christopher R. Hertel describes an SMB journey in the Java landscape . The protocol upgrade is mentioned as well as SMB implementation. Further links to enjoy SMB reading are enclosed","og_url":"https:\/\/visualitynq.com\/de\/resources\/articles\/a-java-infusion\/","og_site_name":"Visualitynq Deutsch","article_published_time":"2021-02-02T14:17:10+00:00","article_modified_time":"2023-02-14T09:55:10+00:00","og_image":[{"width":505,"height":284,"url":"https:\/\/visualitynq.com\/app\/uploads\/sites\/4\/Java-Infusion-article.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Written by":"","Est. reading time":"10 Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/visualitynq.com\/de\/resources\/articles\/a-java-infusion\/#article","isPartOf":{"@id":"https:\/\/visualitynq.com\/de\/resources\/articles\/a-java-infusion\/"},"author":{"name":"","@id":""},"headline":"Eine Java-Infusion","datePublished":"2021-02-02T14:17:10+00:00","dateModified":"2023-02-14T09:55:10+00:00","mainEntityOfPage":{"@id":"https:\/\/visualitynq.com\/de\/resources\/articles\/a-java-infusion\/"},"wordCount":1931,"publisher":{"@id":"https:\/\/visualitynq.com\/de\/#organization"},"image":{"@id":"https:\/\/visualitynq.com\/de\/resources\/articles\/a-java-infusion\/#primaryimage"},"thumbnailUrl":"https:\/\/visualitynq.com\/app\/uploads\/sites\/4\/Java-Infusion-article.jpg","keywords":["connection reset by peer","linux mount smb","mount cifs","smb conf"],"articleSection":["SMB Protocol Explained"],"inLanguage":"de-DE"},{"@type":"WebPage","@id":"https:\/\/visualitynq.com\/de\/resources\/articles\/a-java-infusion\/","url":"https:\/\/visualitynq.com\/de\/resources\/articles\/a-java-infusion\/","name":"Eine Java-Infusion - Visualitynq Deutsch","isPartOf":{"@id":"https:\/\/visualitynq.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/visualitynq.com\/de\/resources\/articles\/a-java-infusion\/#primaryimage"},"image":{"@id":"https:\/\/visualitynq.com\/de\/resources\/articles\/a-java-infusion\/#primaryimage"},"thumbnailUrl":"https:\/\/visualitynq.com\/app\/uploads\/sites\/4\/Java-Infusion-article.jpg","datePublished":"2021-02-02T14:17:10+00:00","dateModified":"2023-02-14T09:55:10+00:00","description":"Christopher R. Hertel describes an SMB journey in the Java landscape . The protocol upgrade is mentioned as well as SMB implementation. Further links to enjoy SMB reading are enclosed","breadcrumb":{"@id":"https:\/\/visualitynq.com\/de\/resources\/articles\/a-java-infusion\/#breadcrumb"},"inLanguage":"de-DE","potentialAction":[{"@type":"ReadAction","target":["https:\/\/visualitynq.com\/de\/resources\/articles\/a-java-infusion\/"]}]},{"@type":"ImageObject","inLanguage":"de-DE","@id":"https:\/\/visualitynq.com\/de\/resources\/articles\/a-java-infusion\/#primaryimage","url":"https:\/\/visualitynq.com\/app\/uploads\/sites\/4\/Java-Infusion-article.jpg","contentUrl":"https:\/\/visualitynq.com\/app\/uploads\/sites\/4\/Java-Infusion-article.jpg","width":505,"height":284,"caption":"rsync examples"},{"@type":"BreadcrumbList","@id":"https:\/\/visualitynq.com\/de\/resources\/articles\/a-java-infusion\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/visualitynq.com\/de\/"},{"@type":"ListItem","position":2,"name":"SMB journey in the Java landscape"}]},{"@type":"WebSite","@id":"https:\/\/visualitynq.com\/de\/#website","url":"https:\/\/visualitynq.com\/de\/","name":"Visualitynq Deutsch","description":"","publisher":{"@id":"https:\/\/visualitynq.com\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/visualitynq.com\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de-DE"},{"@type":"Organization","@id":"https:\/\/visualitynq.com\/de\/#organization","name":"Visualitynq Deutsch","url":"https:\/\/visualitynq.com\/de\/","logo":{"@type":"ImageObject","inLanguage":"de-DE","@id":"https:\/\/visualitynq.com\/de\/#\/schema\/logo\/image\/","url":"https:\/\/visualitynq.com\/app\/uploads\/sites\/4\/White-Single-Line-1.png","contentUrl":"https:\/\/visualitynq.com\/app\/uploads\/sites\/4\/White-Single-Line-1.png","width":1600,"height":335,"caption":"Visualitynq Deutsch"},"image":{"@id":"https:\/\/visualitynq.com\/de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"","url":"https:\/\/visualitynq.com\/de\/author\/"}]}},"_links":{"self":[{"href":"https:\/\/visualitynq.com\/de\/wp-json\/wp\/v2\/posts\/3197","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/visualitynq.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/visualitynq.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/visualitynq.com\/de\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/visualitynq.com\/de\/wp-json\/wp\/v2\/comments?post=3197"}],"version-history":[{"count":3,"href":"https:\/\/visualitynq.com\/de\/wp-json\/wp\/v2\/posts\/3197\/revisions"}],"predecessor-version":[{"id":4846,"href":"https:\/\/visualitynq.com\/de\/wp-json\/wp\/v2\/posts\/3197\/revisions\/4846"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/visualitynq.com\/de\/wp-json\/wp\/v2\/media\/4607"}],"wp:attachment":[{"href":"https:\/\/visualitynq.com\/de\/wp-json\/wp\/v2\/media?parent=3197"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/visualitynq.com\/de\/wp-json\/wp\/v2\/categories?post=3197"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/visualitynq.com\/de\/wp-json\/wp\/v2\/tags?post=3197"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}