1

I have an issue with the publication of content to Tridion Broker database. I had a configuration in my cd_storage that only "publish" content to local file system, but I would like to publish this content in Tridion Broker database too in order to use it with XPM.

The publish transaction finishes ok, but when I go to the database to review it, I don´t find any content in the ITEMS table or PAGE table.

This is my cd_storage_conf file:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration Version="7.1"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="schemas/cd_storage_conf.xsd">
    <Global>
        <ObjectCache Enabled="false">
            <Policy Type="LRU" Class="com.tridion.cache.LRUPolicy">
                <Param Name="MemSize" Value="16mb"/>
            </Policy>
            <Features>
                <Feature Type="DependencyTracker" Class="com.tridion.cache.DependencyTracker"/>
            </Features>
        </ObjectCache>
        <Storages>
            <Storage Type="filesystem" Class="com.tridion.storage.filesystem.FSDAOFactory" Id="defaultFile" defaultFilesystem="false">
                <Root Path="C:\Publicaciones" />
            </Storage>
            <Storage Type="filesystem" Class="com.tridion.storage.filesystem.FSDAOFactory" Id="defaultDataFile" defaultFilesystem="true" defaultStorage="true">
                <Root Path="C:\Publicaciones\data" />
            </Storage>
        </Storages>
    </Global>
    <ItemTypes defaultStorageId="defaultDataFile" cached="false">
        <Item typeMapping="Page" cached="false" storageId="defaultFile"/>
    </ItemTypes>
    <License Location="C:\Program Files (x86)\Tridion\config\cd_licenses.xml"/>        
</Configuration>

Note that I have commented the part of JNDI, because I don´t know what is the correct configuration:

<!-- Configuration example for using a MS SQL based JNDI datasource.
    <Storage Type="persistence" Class="com.tridion.storage.persistence.JPADAOFactory" dialect="MSSQL" Id="defaultdb5" JNDIName="java:comp/env/jdbc/NAME_SERVER_NETOSONE/Tridion_Broker"/>-->

If I uncomment this lines, I get the following error:

Unable to start processing deployment package with transactionId: tcm:0-63-66560 com.tridion.deployer.ProcessingException: Phase: Deployment Processing Phase failed. at com.tridion.deployer.phases.DeployPipelineExecutor.runMainExecutePhase(DeployPipelineExecutor.java:209) [cd_deployer.jar:na] at com.tridion.deployer.phases.DeployPipelineExecutor.doExecute(DeployPipelineExecutor.java:100) [cd_deployer.jar:na] at com.tridion.deployer.phases.DeployPipelineExecutor.execute(DeployPipelineExecutor.java:64) [cd_deployer.jar:na] at com.tridion.deployer.TransactionManager.handleDeployPackage(TransactionManager.java:82) [cd_deployer.jar:na] at com.tridion.deployer.queue.QueueLocationHandler$1.run(QueueLocationHandler.java:180) [cd_deployer.jar:na] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [na:1.8.0_131] at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.8.0_131] at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.8.0_131] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.8.0_131] at java.lang.Thread.run(Unknown Source) [na:1.8.0_131] Caused by: java.lang.RuntimeException: Fatal error, unable to load the StorageManagerFactory at com.tridion.storage.StorageManagerFactory.reloadInstance(StorageManagerFactory.java:91) ~[cd_datalayer.jar:na] at com.tridion.storage.StorageManagerFactory.(StorageManagerFactory.java:56) ~[cd_datalayer.jar:na] at com.tridion.storage.deploy.PageHandler.deploy(PageHandler.java:58) ~[cd_datalayer.jar:na] at com.tridion.deployer.DeploymentHandler.deploy(DeploymentHandler.java:90) ~[cd_datalayer.jar:na] at com.tridion.deployer.modules.PageDeploy.processPage(PageDeploy.java:145) ~[cd_deployer.jar:na] at com.tridion.deployer.modules.PageDeploy.processItem(PageDeploy.java:118) ~[cd_deployer.jar:na] at com.tridion.deployer.SectionVisitor.processSection(SectionVisitor.java:83) ~[cd_deployer.jar:na] at com.tridion.deployer.SectionVisitor.processSection(SectionVisitor.java:87) ~[cd_deployer.jar:na] at com.tridion.deployer.SectionVisitor.processSection(SectionVisitor.java:87) ~[cd_deployer.jar:na] at com.tridion.deployer.SectionVisitor.process(SectionVisitor.java:60) ~[cd_deployer.jar:na] at com.tridion.deployer.Processor.process(Processor.java:109) ~[cd_deployer.jar:na] at com.tridion.deployer.workers.ProcessorWorker.doWork(ProcessorWorker.java:77) ~[cd_deployer.jar:na] at com.tridion.deployer.phases.ProcessingPhase.execute(ProcessingPhase.java:73) ~[cd_deployer.jar:na] at com.tridion.deployer.phases.DeployPipelineExecutor.runMainExecutePhase(DeployPipelineExecutor.java:198) [cd_deployer.jar:na] ... 9 common frames omitted Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'defaultdb5DataSource': Invocation of init method failed; nested exception is javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1455) ~[spring-beans.jar:3.1.0.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) ~[spring-beans.jar:3.1.0.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) ~[spring-beans.jar:3.1.0.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) ~[spring-beans.jar:3.1.0.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) ~[spring-beans.jar:3.1.0.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) ~[spring-beans.jar:3.1.0.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) ~[spring-beans.jar:3.1.0.RELEASE] at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1093) ~[spring-context.jar:3.1.0.RELEASE] at com.tridion.storage.util.EntityManagerFactoryBeanConfigurer.configure(EntityManagerFactoryBeanConfigurer.java:55) ~[cd_datalayer.jar:na] at com.tridion.storage.util.SpringContextDynamicConfigurer.configureDatasource(SpringContextDynamicConfigurer.java:87) ~[cd_datalayer.jar:na] at com.tridion.storage.util.SpringContextDynamicConfigurer.configure(SpringContextDynamicConfigurer.java:44) ~[cd_datalayer.jar:na] at com.tridion.storage.configuration.SpringConfigurationLoader.configure(SpringConfigurationLoader.java:26) ~[cd_datalayer.jar:na] at com.tridion.configuration.step.ConfigurationStepLoader.configure(ConfigurationStepLoader.java:47) ~[cd_core.jar:na] at com.tridion.storage.StorageManagerFactory.configure(StorageManagerFactory.java:137) ~[cd_datalayer.jar:na] at com.tridion.services.BaseService.(BaseService.java:113) ~[cd_core.jar:na] at com.tridion.storage.StorageManagerFactory.(StorageManagerFactory.java:104) ~[cd_datalayer.jar:na] at com.tridion.storage.StorageManagerFactory.reloadInstance(StorageManagerFactory.java:84) ~[cd_datalayer.jar:na] ... 22 common frames omitted Caused by: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial at javax.naming.spi.NamingManager.getInitialContext(Unknown Source) ~[na:1.8.0_131] at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source) ~[na:1.8.0_131] at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source) ~[na:1.8.0_131] at javax.naming.InitialContext.lookup(Unknown Source) ~[na:1.8.0_131] at org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java:154) ~[spring-context.jar:3.1.0.RELEASE] at org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:87) ~[spring-context.jar:3.1.0.RELEASE] at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:152) ~[spring-context.jar:3.1.0.RELEASE] at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:178) ~[spring-context.jar:3.1.0.RELEASE] at org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport.java:95) ~[spring-context.jar:3.1.0.RELEASE] at org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.java:105) ~[spring-context.jar:3.1.0.RELEASE] at org.springframework.jndi.JndiObjectFactoryBean.lookupWithFallback(JndiObjectFactoryBean.java:201) ~[spring-context.jar:3.1.0.RELEASE] at org.springframework.jndi.JndiObjectFactoryBean.afterPropertiesSet(JndiObjectFactoryBean.java:187) ~[spring-context.jar:3.1.0.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514) ~[spring-beans.jar:3.1.0.RELEASE]

I'm using the sqljdbc4 driver (I have 1.8.0_131 java version), and I have configured a Deployer as Windows Service in the same server as the Content Manager Web App.

Is anyone aware of this issue?

1
  • Can you put the complete cd_storage_conf.xml file? Also specify versions, please Jun 20, 2017 at 10:05

1 Answer 1

4

You don't have anything puiblished in the database, because you haven't configured it to publish to it. You have to indicate

<ItemTypes defaultStorageId="defaultdb" cached="false">

to indicate that the metadata is published to the database.

You don'f have to use JNDI unless you configure it, and you can use the jdbc driver you have mentioned.

2
  • Thank you so much Raúl. With this modification in cd_storage_conf file the publication to the Content Data Store works fine! Jun 20, 2017 at 10:23
  • @netosone if the answer is helpful, please consider upvoting and accepting it, see tridion.stackexchange.com/help/someone-answers for more details Jun 20, 2017 at 12:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.