An error occurred in template Page._additionalHead.ftl for Content with ID 7519628.
Show Details
FreemarkerView[template=/jar:id:contentproperty:/Themes/insinkerator/templates/insinkerator-templates.jar/archive!/META-INF/resources/WEB-INF/templates/insinkerator/com.coremedia.blueprint.common.contentbeans/Page._additionalHead.ftl]
com.coremedia.blueprint.cae.contentbeans.PageImpl$$[navigation=com.coremedia.blueprint.cae.contentbeans.CMChannelImpl[id=7519628], content=com.coremedia.blueprint.cae.contentbeans.CMChannelImpl[id=7519628]]
Error rendering view
Current store context is not set.
com.coremedia.blueprint.cae.contentbeans.PageImpl$$
com.coremedia.objectserver.dataviews.DataView
com.coremedia.dispatch.HasCustomType
com.coremedia.blueprint.cae.contentbeans.PageImpl
com.coremedia.blueprint.common.contentbeans.Page
com.coremedia.blueprint.cae.contentbeans.AbstractPageImpl
com.coremedia.blueprint.common.contentbeans.AbstractPage
com.coremedia.blueprint.common.datevalidation.ValidityPeriod
com.coremedia.objectserver.dataviews.AssumesIdentity
java.lang.Object
com.coremedia.objectserver.view.ViewException: Error rendering view
at com.coremedia.objectserver.view.ViewUtils.rethrow(ViewUtils.java:344)
at com.coremedia.objectserver.view.freemarker.FreemarkerViewEngine$FreemarkerView.render(FreemarkerViewEngine.java:154)
at com.coremedia.objectserver.view.ExceptionHandlingViewDecorator$ExceptionDecorator.decorate(ExceptionHandlingViewDecorator.java:135)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:344)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:428)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:346)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:428)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:346)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:428)
at com.coremedia.objectserver.view.ExceptionHandlingViewDecorator$ExceptionDecorator.decorate(ExceptionHandlingViewDecorator.java:135)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:344)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:428)
at com.coremedia.objectserver.view.ViewUtils.render(ViewUtils.java:184)
at com.coremedia.objectserver.view.ViewUtils.render(ViewUtils.java:124)
at com.coremedia.objectserver.view.freemarker.impl.CAEFreemarkerFacadeImpl.include(CAEFreemarkerFacadeImpl.java:159)
at jdk.internal.reflect.GeneratedMethodAccessor288.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:1552)
at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:73)
at freemarker.core.MethodCall._eval(MethodCall.java:62)
at freemarker.core.Expression.eval(Expression.java:101)
at freemarker.core.DollarVariable.calculateInterpolatedStringOrMarkup(DollarVariable.java:100)
at freemarker.core.DollarVariable.accept(DollarVariable.java:63)
at freemarker.core.Environment.visit(Environment.java:383)
at freemarker.core.Environment.visitAndTransform(Environment.java:514)
at freemarker.core.CompressedBlock.accept(CompressedBlock.java:42)
at freemarker.core.Environment.visit(Environment.java:383)
at freemarker.core.Environment.invokeMacroOrFunctionCommonPart(Environment.java:889)
at freemarker.core.Environment.invokeMacro(Environment.java:825)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84)
at freemarker.core.Environment.visit(Environment.java:347)
at freemarker.core.Environment.visit(Environment.java:353)
at freemarker.core.Environment.process(Environment.java:326)
at com.coremedia.objectserver.view.freemarker.FreemarkerViewEngine$FreemarkerView.render(FreemarkerViewEngine.java:150)
at com.coremedia.objectserver.view.ExceptionHandlingViewDecorator$ExceptionDecorator.decorate(ExceptionHandlingViewDecorator.java:135)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:344)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:428)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:346)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:428)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:346)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:428)
at com.coremedia.objectserver.view.ExceptionHandlingViewDecorator$ExceptionDecorator.decorate(ExceptionHandlingViewDecorator.java:135)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:344)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:428)
at com.coremedia.objectserver.view.ViewUtils.render(ViewUtils.java:184)
at com.coremedia.objectserver.view.ViewUtils.render(ViewUtils.java:124)
at com.coremedia.objectserver.view.freemarker.impl.CAEFreemarkerFacadeImpl.include(CAEFreemarkerFacadeImpl.java:159)
at jdk.internal.reflect.GeneratedMethodAccessor288.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:1552)
at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:73)
at freemarker.core.MethodCall._eval(MethodCall.java:62)
at freemarker.core.Expression.eval(Expression.java:101)
at freemarker.core.DollarVariable.calculateInterpolatedStringOrMarkup(DollarVariable.java:100)
at freemarker.core.DollarVariable.accept(DollarVariable.java:63)
at freemarker.core.Environment.visit(Environment.java:383)
at freemarker.core.Environment.visitAndTransform(Environment.java:514)
at freemarker.core.CompressedBlock.accept(CompressedBlock.java:42)
at freemarker.core.Environment.visit(Environment.java:383)
at freemarker.core.Environment.invokeMacroOrFunctionCommonPart(Environment.java:889)
at freemarker.core.Environment.invokeMacro(Environment.java:825)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84)
at freemarker.core.Environment.visit(Environment.java:347)
at freemarker.core.Environment.visit(Environment.java:353)
at freemarker.core.Environment.process(Environment.java:326)
at com.coremedia.objectserver.view.freemarker.FreemarkerViewEngine$FreemarkerView.render(FreemarkerViewEngine.java:150)
at com.coremedia.objectserver.view.freemarker.FreemarkerViewEngine$FreemarkerView.render(FreemarkerViewEngine.java:122)
at com.coremedia.objectserver.view.ExceptionHandlingViewDecorator$ExceptionDecorator.decorate(ExceptionHandlingViewDecorator.java:113)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:334)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:422)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:336)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:422)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:336)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:422)
at com.coremedia.objectserver.view.ExceptionHandlingViewDecorator$ExceptionDecorator.decorate(ExceptionHandlingViewDecorator.java:113)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:334)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:422)
at com.coremedia.objectserver.view.ViewUtils.render(ViewUtils.java:152)
at com.coremedia.objectserver.view.ViewUtils.render(ViewUtils.java:109)
at com.coremedia.objectserver.view.BeanView.renderMergedOutputModel(BeanView.java:63)
at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:316)
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1401)
at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1145)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1084)
at com.coremedia.objectserver.web.DispatcherServlet.doDispatch(DispatcherServlet.java:69)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:655)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.coremedia.livecontext.fragment.FragmentContextProvider.doFilter(FragmentContextProvider.java:71)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.coremedia.blueprint.cae.filter.PreviewViewFilter.doFilterInternal(PreviewViewFilter.java:48)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.web.filter.AbstractRequestLoggingFilter.doFilterInternal(AbstractRequestLoggingFilter.java:289)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.coremedia.blueprint.cae.filter.SiteFilter.doFilter(SiteFilter.java:54)
at com.emerson.globalization.web.filter.VirtualSiteFilter.doFilter(VirtualSiteFilter.java:40)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.coremedia.livecontext.preview.PreviewMarkerFilter.doFilter(PreviewMarkerFilter.java:35)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.coremedia.blueprint.livecontext.ecommerce.filter.CommerceConnectionFilter.doFilter(CommerceConnectionFilter.java:44)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.coremedia.blueprint.cae.filter.SiteFilter.doFilter(SiteFilter.java:54)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:117)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.emerson.blueprint.component.cae.csrf.CsrfLegacyTokenGetterFilter.doFilterInternal(CsrfLegacyTokenGetterFilter.java:19)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.coremedia.blueprint.cae.filter.RequestRejectedExceptionFilter.doFilter(RequestRejectedExceptionFilter.java:41)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:769)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1787)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: com.coremedia.blueprint.base.livecontext.ecommerce.common.NoStoreContextAvailable: Current store context is not set.
at com.coremedia.blueprint.base.livecontext.ecommerce.common.CurrentStoreContext.lambda$get$0(CurrentStoreContext.java:31)
at java.base/java.util.Optional.orElseThrow(Optional.java:408)
at com.coremedia.blueprint.base.livecontext.ecommerce.common.CurrentStoreContext.get(CurrentStoreContext.java:31)
at com.emerson.web.taglib.EmersonFreemarkerFacade.getStoreContext(EmersonFreemarkerFacade.java:552)
at jdk.internal.reflect.GeneratedMethodAccessor373.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:1552)
at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:73)
at freemarker.core.MethodCall._eval(MethodCall.java:62)
at freemarker.core.Expression.eval(Expression.java:101)
at freemarker.core.ReturnInstruction.accept(ReturnInstruction.java:38)
at freemarker.core.Environment.visit(Environment.java:383)
at freemarker.core.Environment.invokeMacroOrFunctionCommonPart(Environment.java:889)
at freemarker.core.Environment.invokeMacro(Environment.java:825)
at freemarker.core.Environment.invokeFunction(Environment.java:841)
at freemarker.core.MethodCall._eval(MethodCall.java:65)
at freemarker.core.Expression.eval(Expression.java:101)
at freemarker.core.Assignment.accept(Assignment.java:134)
at freemarker.core.Environment.visit(Environment.java:347)
at freemarker.core.Environment.visit(Environment.java:353)
at freemarker.core.Environment.process(Environment.java:326)
at com.coremedia.objectserver.view.freemarker.FreemarkerViewEngine$FreemarkerView.render(FreemarkerViewEngine.java:150)
... 196 more

Right now, it seems like there’s a new must-have kitchen gadget every week. Yet in a world where your fridge can order groceries for you and your smartphone can switch on the toaster, it can sometimes be tricky to spot what’s genuinely useful. Amid the whirlwind of show-off innovation there are certain things that will make a tangible difference to your day-to-day life. InSinkErator’s instant hot water tap is one of them.

Why should I get an instant hot water tap?

It’s easy to start wondering if you could have written a bestselling novel in all the minutes you’ve wasted waiting for the kettle to boil, but the statistics speak for themselves. We waste over £68 million a year by overfilling the kettle, and 67% of us overfill it every time we use it. As well as water bills, there’s electricity to consider – how many times have you re-boiled the kettle because you started making tea and got distracted?

The kettle’s been there on the worktop for as long as anyone can remember, so most of us have never really thought to question it. But take a look at yours – especially against a backdrop of environmental concerns and waste reduction efforts – and the millions of kettles sitting in kitchens all over the country start to seem a bit dated.

Many kitchen inventions seem to be pro-laziness (who knew it was so hard to scribble down a shopping list?), but an instant hot water tap does much more than give you an extra two minutes of dozing before your morning coffee. Not only is it a space-saving, money-saving, time-saving alternative to your kettle – it will streamline the kitchen, bringing countless benefits to cooking, cleaning and hosting in the most important room in your home...

How does an instant hot water tap work?

It’s quick, convenient and easy. With the pull of a lever, an instant hot water tap will dispense filtered, steaming, near-boiling water whenever you need it. It works a lot like an electric shower, taking water from your property’s mains supply and rapidly heating it with an electrical element – all within a heavily insulated storage tank.

Most instant hot water taps will give you water that’s somewhere between 96°c and 99°c. That’s just below boiling point (100°c) and brings much the same benefit without burning your coffee beans – really, there’s no day-to-day need for your “boiling” water to actually be at 100°c.

All of InSinkErator’s instant hot water taps can be fitted to your existing kitchen sink, and our popular 3N1 or 4N1 can replace the main tap altogether by offering regular hot and cold water too. Certain models offer cold, filtered water from the same dispenser as the near-boiling water – a handy alternative to the bulky filter jugs that sit inside the fridge door.

Easy to install for anyone who’s handy with a spanner, it will become an unobtrusive and stylish addition to the area around your sink. The filter and tank will fit comfortably into the cupboard underneath. This reduces chlorine, lead, turbidity and other unpleasant tastes and odours to deliver the purest water possible.

What can I use an instant hot water tap for?

The benefits of an instant hot water tap go far beyond an extra-quick cuppa. If you get one installed you won’t believe how many jobs around the kitchen – big and small – are made easier with near-boiling water at your fingertips.

  • Instant hot drinks. You’ll find yourself making cups of tea and coffee over 20 times faster than with a kettle. That’s not an excuse to drink 20 times as many, though.
  • Filling up your flask. Whatever your hot drink of choice, you can fill your flask to the brim each morning with exactly the right amount of steaming hot water.
  • Washing up. Sometimes the hottest water a standard tap can give you just won’t cut it. For pans with nasty, stubborn grease, add some steaming hot water into the sink.
  • Preparing pasta. Don’t wait around for the cold water on the hob to come to the boil – whether it’s pasta, potatoes or vegetables, just fill the pan straight from the tap and get your dinner cooking pronto.
  • Hot water bottles. No more shivering in your pyjamas as you hop around waiting for the kettle to boil on a cold winter’s night.
  • Speedy soups. Stick your instant soup cup under the tap and get stuck into lunch.
  • Boiling eggs. Get your breakfast on the go faster by adding steaming hot water straight from tap to pan.
  • Smooth cutting. Run a knife under the hot tap for just a second, and you’ll cut bread and spread butter with ease.
  • Loosening jar lids. It’s all very well trying to show off by prising it free yourself, but it’ll twist off a lot easier if you run it under the steaming tap for a few seconds.
  • Perfect rice. After you’ve cooked rice, run it under the steaming tap to remove any sticky texture that’s gluing the grains together.
  • Easy peeling. If you put citrus fruits in a bowl of steaming hot water to peel them more easily and extract more juice in the process.
  • Skinning tomatoes. Pop your tomatoes in a bowl of steaming hot water for about a minute. Lift them out with a spoon, douse them in cold water and the skin will slip off easily.
  • Scooping ice cream. Never wait for your ice cream to soften again – just run the spoon under the hot water tap for perfect easy scooping.

What different kinds of instant hot water taps are there?

InSinkErator’s instant hot water taps are manufactured to the highest quality and come in six elegant and functional models, so you’re sure to find one that suits your kitchen.

4N1 Touch Steaming Hot Water Tap

Introduced in 2019, this might just be the tap we’re most proud of. With premium Italian design and cutting-edge manufacturing processes, it provides steaming hot water, filtered cold water and regular hot and cold water – all with the pull of a lever.

You can even get filtered cold water with our industry-leading touch button that responds immediately to the touch of your fingers. With a range of finishes to suit any kitchen, the 4N1 touch comes in three shapes – choose a U, J or L shape.

Choice of finishes: Chrome, brushed stainless steel or velvet black

3N1 Steaming Hot Combined Main Tap

This tap will become the heart of your kitchen, replacing your main mixer tap and dispensing regular hot and cold water alongside our steaming hot speciality.

Choice of finishes: Chrome, brushed stainless steel or anthracite

HC3300 Steaming Hot & Cold Water Tap

Ranked as one of the best instant hot water taps around, the HC3300 sits comfortably alongside your main tap and dispenses steaming hot water as well as filtered cold water.

Choice of finishes: Chrome or brushed stainless steel

H3300 Steaming Hot Water Tap

This tap is a sleek, neat addition to your sink if you’re just looking for pure steaming hot water dispensed with a single lever. It will sit alongside your existing tap.

Choice of finishes: Chrome or brushed stainless steel

HC1100 Steaming Hot & Cold Water Tap

With two separate levers, this slim tap will sit discreetly alongside your existing tap and dispense steaming hot water and filtered cold water whenever you need them.

Choice of finishes: Chrome or brushed stainless steel

GN1100 Steaming Hot Water Tap

At the touch of a single lever, this simple tap will sit stylishly over your sink alongside your existing tap and deliver steaming hot water whenever you need it.

Choice of finishes: Chrome or brushed stainless steel

Are instant hot water taps safe?

Considering they place potentially scalding hot water at the heart of your kitchen, it’s understandable to have concerns. A curious toddler or even a guest trying to wash their hands could start tinkering with your kitchen taps unsupervised, so safety is a top priority in the design of any instant hot water tap. All InSinkErator’s taps come with a sturdy, built-in safety catch to prevent near-boiling water from being dispensed by accident.

This catch has to be pressed down before turning the lever at all – and water will only pour out for as long as the catch is depressed. Let go, and the tap will immediately spring into the off position. It’s simple enough to use one-handed and fill up your cup, yet subtle enough that you or anyone else would be highly unlikely to release steaming hot water by accident.

You can’t accidentally drop or knock over an instant hot water tap, and – unlike kettles – they’re insulated, so the outside of them won’t get dangerously hot even during use. They also dispense water at a slightly lower pressure than a regular hot or cold tap. This takes some of the force out of the water flow and ensures that splashing and spitting are kept to a minimum as the water falls.

Are instant hot water taps expensive?

Buying and installing a high-quality InSinkErator instant hot water tap and tank comes at a price that reflects the difference it will make. We also recommend that you put in a replacement filter every 6 to 8 months in order to keep your water pure and great-tasting. But splashing out on these doesn’t mean it’s a costly purchase in the long run. If you’re currently using your kettle several times a day, you’ll quickly find that you’re making significant savings by using a tap instead.

On average, an instant hot water tap will cost you no more than a few pence per day to keep running. Boiling a full kettle just once costs 2.5 pence – and even if you don’t fill it to the brim very often, if (like 67% of people) you’re a regular over-filler, you can imagine how quickly repeated use of a kettle can push costs up to more than a few pence daily.

That’s just the electricity bill – think how much you’ll save on your water bill just by using the right amount. An instant hot water tap encourages careful use of water, as no one’s going to stand with their finger on the catch letting it run down the sink. Without a kettle to overfill, one mug of tea becomes only one mug’s worth of water. Over time, this will inevitably make for a drastic reduction in your consumption. It might even make you more aware of your water usage habits in other parts of the home, too, making for some real savings. 

Please enable JavaScript to use this website.